Liferay.Loader.define('__FRAGMENT_MODULE_NAME__', [
    'module',
    'require',
    '__REACT_PROVIDER__$react'
], function (__MODULE__, __REQUIRE__) {
    (function (modules) {
        var installedModules = {};
        function __webpack_require__(moduleId) {
            if (installedModules[moduleId]) {
                return installedModules[moduleId].exports;
            }
            var module = installedModules[moduleId] = {
                i: moduleId,
                l: false,
                exports: {}
            };
            modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
            module.l = true;
            return module.exports;
        }
        __webpack_require__.m = modules;
        __webpack_require__.c = installedModules;
        __webpack_require__.d = function (exports, name, getter) {
            if (!__webpack_require__.o(exports, name)) {
                Object.defineProperty(exports, name, {
                    enumerable: true,
                    get: getter
                });
            }
        };
        __webpack_require__.r = function (exports) {
            if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {
                Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
            }
            Object.defineProperty(exports, '__esModule', { value: true });
        };
        __webpack_require__.t = function (value, mode) {
            if (mode & 1)
                value = __webpack_require__(value);
            if (mode & 8)
                return value;
            if (mode & 4 && typeof value === 'object' && value && value.__esModule)
                return value;
            var ns = Object.create(null);
            __webpack_require__.r(ns);
            Object.defineProperty(ns, 'default', {
                enumerable: true,
                value: value
            });
            if (mode & 2 && typeof value != 'string')
                for (var key in value)
                    __webpack_require__.d(ns, key, function (key) {
                        return value[key];
                    }.bind(null, key));
            return ns;
        };
        __webpack_require__.n = function (module) {
            var getter = module && module.__esModule ? function getDefault() {
                return module['default'];
            } : function getModuleExports() {
                return module;
            };
            __webpack_require__.d(getter, 'a', getter);
            return getter;
        };
        __webpack_require__.o = function (object, property) {
            return Object.prototype.hasOwnProperty.call(object, property);
        };
        __webpack_require__.p = '';
        return __webpack_require__(__webpack_require__.s = './build/liferay-npm-bundler-workdir/generated/claims-total.js');
    }({
        './build/liferay-npm-bundler-workdir/generated/claims-total.js': function (module, exports, __webpack_require__) {
            __MODULE__.exports = __webpack_require__('./src/raylife-ap-react-fragments/fragments/claims-total/index.js');
        },
        './node_modules/@clayui/charts/lib/BillboardWrapper.js': function (module, exports, __webpack_require__) {
            'use strict';
            Object.defineProperty(exports, '__esModule', { value: true });
            exports.default = void 0;
            var _billboard = __webpack_require__('./node_modules/billboard.js/dist/billboard.js');
            var _react = _interopRequireDefault(__REQUIRE__('__REACT_PROVIDER__$react'));
            var _excluded = [
                    'forwardRef',
                    'elementProps'
                ], _excluded2 = [
                    'data',
                    'onafterinit'
                ];
            function _interopRequireDefault(obj) {
                return obj && obj.__esModule ? obj : { default: obj };
            }
            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 ownKeys(object, enumerableOnly) {
                var keys = Object.keys(object);
                if (Object.getOwnPropertySymbols) {
                    var symbols = Object.getOwnPropertySymbols(object);
                    if (enumerableOnly) {
                        symbols = symbols.filter(function (sym) {
                            return Object.getOwnPropertyDescriptor(object, sym).enumerable;
                        });
                    }
                    keys.push.apply(keys, symbols);
                }
                return keys;
            }
            function _objectSpread(target) {
                for (var i = 1; i < arguments.length; i++) {
                    var source = arguments[i] != null ? arguments[i] : {};
                    if (i % 2) {
                        ownKeys(Object(source), true).forEach(function (key) {
                            _defineProperty(target, key, source[key]);
                        });
                    } else if (Object.getOwnPropertyDescriptors) {
                        Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
                    } else {
                        ownKeys(Object(source)).forEach(function (key) {
                            Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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 _objectWithoutProperties(source, excluded) {
                if (source == null)
                    return {};
                var target = _objectWithoutPropertiesLoose(source, excluded);
                var key, i;
                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;
            }
            function _objectWithoutPropertiesLoose(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];
                }
                return target;
            }
            var useIsomorphicLayoutEffect = typeof window === 'undefined' ? _react.default.useEffect : _react.default.useLayoutEffect;
            var BillboardWrapper = function BillboardWrapper(_ref) {
                var forwardRef = _ref.forwardRef, _ref$elementProps = _ref.elementProps, elementProps = _ref$elementProps === void 0 ? {} : _ref$elementProps, otherProps = _objectWithoutProperties(_ref, _excluded);
                var elementRef = _react.default.useRef(null);
                var updateChart = _react.default.useCallback(function (args) {
                    var data = args.data, _onafterinit = args.onafterinit, otherArgs = _objectWithoutProperties(args, _excluded2);
                    if (elementRef.current) {
                        if (!forwardRef.current) {
                            forwardRef.current = _billboard.bb.generate(_objectSpread({
                                bindto: elementRef.current,
                                data: data,
                                onafterinit: function onafterinit() {
                                    if (_onafterinit) {
                                        setTimeout(function () {
                                            return _onafterinit();
                                        }, 0);
                                    }
                                }
                            }, otherArgs));
                        }
                        forwardRef.current.load(data);
                    }
                }, []);
                useIsomorphicLayoutEffect(function () {
                    requestAnimationFrame(function () {
                        return updateChart(otherProps);
                    });
                    return function () {
                        if (forwardRef.current) {
                            try {
                                forwardRef.current.destroy();
                            } catch (error) {
                                console.error('Internal billboard.js error', error);
                            }
                        }
                        forwardRef.current = null;
                    };
                }, []);
                useIsomorphicLayoutEffect(function () {
                    updateChart(otherProps);
                }, [otherProps]);
                return _react.default.createElement('div', _extends({}, elementProps, { ref: elementRef }));
            };
            var _default = _react.default.forwardRef(function (props, ref) {
                return _react.default.createElement(BillboardWrapper, _extends({ forwardRef: ref }, props));
            });
            exports.default = _default;
        },
        './node_modules/@clayui/charts/lib/GeoMap.js': function (module, exports, __webpack_require__) {
            'use strict';
            function _typeof(obj) {
                '@babel/helpers - typeof';
                if (typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol') {
                    _typeof = function _typeof(obj) {
                        return typeof obj;
                    };
                } else {
                    _typeof = function _typeof(obj) {
                        return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;
                    };
                }
                return _typeof(obj);
            }
            Object.defineProperty(exports, '__esModule', { value: true });
            exports.default = void 0;
            var d3 = _interopRequireWildcard(__webpack_require__('./node_modules/d3/index.js'));
            var _react = _interopRequireDefault(__REQUIRE__('__REACT_PROVIDER__$react'));
            var _excluded = [
                'data',
                'elementProps',
                'forwardRef'
            ];
            function _interopRequireDefault(obj) {
                return obj && obj.__esModule ? obj : { default: obj };
            }
            function _getRequireWildcardCache(nodeInterop) {
                if (typeof WeakMap !== 'function')
                    return null;
                var cacheBabelInterop = new WeakMap();
                var cacheNodeInterop = new WeakMap();
                return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) {
                    return nodeInterop ? cacheNodeInterop : cacheBabelInterop;
                })(nodeInterop);
            }
            function _interopRequireWildcard(obj, nodeInterop) {
                if (!nodeInterop && obj && obj.__esModule) {
                    return obj;
                }
                if (obj === null || _typeof(obj) !== 'object' && typeof obj !== 'function') {
                    return { default: obj };
                }
                var cache = _getRequireWildcardCache(nodeInterop);
                if (cache && cache.has(obj)) {
                    return cache.get(obj);
                }
                var newObj = {};
                var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
                for (var key in obj) {
                    if (key !== 'default' && Object.prototype.hasOwnProperty.call(obj, key)) {
                        var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
                        if (desc && (desc.get || desc.set)) {
                            Object.defineProperty(newObj, key, desc);
                        } else {
                            newObj[key] = obj[key];
                        }
                    }
                }
                newObj.default = obj;
                if (cache) {
                    cache.set(obj, newObj);
                }
                return newObj;
            }
            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 = _objectWithoutPropertiesLoose(source, excluded);
                var key, i;
                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;
            }
            function _objectWithoutPropertiesLoose(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];
                }
                return target;
            }
            function ownKeys(object, enumerableOnly) {
                var keys = Object.keys(object);
                if (Object.getOwnPropertySymbols) {
                    var symbols = Object.getOwnPropertySymbols(object);
                    if (enumerableOnly) {
                        symbols = symbols.filter(function (sym) {
                            return Object.getOwnPropertyDescriptor(object, sym).enumerable;
                        });
                    }
                    keys.push.apply(keys, symbols);
                }
                return keys;
            }
            function _objectSpread(target) {
                for (var i = 1; i < arguments.length; i++) {
                    var source = arguments[i] != null ? arguments[i] : {};
                    if (i % 2) {
                        ownKeys(Object(source), true).forEach(function (key) {
                            _defineProperty(target, key, source[key]);
                        });
                    } else if (Object.getOwnPropertyDescriptors) {
                        Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
                    } else {
                        ownKeys(Object(source)).forEach(function (key) {
                            Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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;
            }
            var DEFAULT_COLOR = {
                range: {
                    max: '#0065e4',
                    min: '#b1d4ff'
                },
                selected: '#4b9bff',
                value: 'pop_est'
            };
            var GeomapBase = function () {
                function GeomapBase(config) {
                    _classCallCheck(this, GeomapBase);
                    this._data = config.data;
                    this._element = config.element;
                    this._color = _objectSpread(_objectSpread({}, DEFAULT_COLOR), config.color);
                    this._pollingInterval = config.pollingInterval;
                    this._height = '100%';
                    this._width = '100%';
                }
                _createClass(GeomapBase, [
                    {
                        key: 'attached',
                        value: function attached() {
                            var _this = this;
                            var w = typeof this._width === 'string' ? this._width : ''.concat(this._width, 'px');
                            var h = typeof this._height === 'string' ? this._height : ''.concat(this._height, 'px');
                            this.svg = d3.select(this._element).append('svg').attr('width', w).attr('height', h);
                            this._handleClickHandler = this._handleClick.bind(this);
                            this.rect = this.svg.append('rect').attr('fill', 'rgba(1, 1, 1, 0)').attr('width', w).attr('height', h).on('click', this._handleClickHandler);
                            var bounds = this.svg.node().getBoundingClientRect();
                            this.svgGroup = this.svg.append('g');
                            this.mapLayer = this.svgGroup.append('g');
                            this.projection = d3.geoMercator().scale(100).translate([
                                bounds.width / 2,
                                bounds.height / 2
                            ]);
                            this.path = d3.geoPath().projection(this.projection);
                            this._selected = null;
                            this._onDataLoad(this._data);
                            if (this._internalPollingInterval) {
                                clearInterval(this._internalPollingInterval);
                            }
                            if (this.pollingInterval) {
                                this._internalPollingInterval = setInterval(function () {
                                    _this._onDataLoad(_this._data);
                                }, this._pollingInterval);
                            }
                        }
                    },
                    {
                        key: 'disposed',
                        value: function disposed() {
                            if (this._internalPollingInterval) {
                                clearInterval(this._internalPollingInterval);
                                this._internalPollingInterval = null;
                            }
                            if (this.svg) {
                                this.svg.remove();
                            }
                        }
                    },
                    {
                        key: '_fillFn',
                        value: function _fillFn(d) {
                            var value = d && d.properties ? d.properties[this._color.value] : 0;
                            return this.colorScale(value || 0);
                        }
                    },
                    {
                        key: 'getSize',
                        value: function getSize() {
                            return {
                                height: this._height,
                                width: this._width
                            };
                        }
                    },
                    {
                        key: '_handleClick',
                        value: function _handleClick(d) {
                            var _this2 = this;
                            if (d && this._selected !== d) {
                                this._selected = d;
                            } else {
                                this._selected = null;
                            }
                            this.mapLayer.selectAll('path').style('fill', function (d) {
                                return _this2._selected && d === _this2._selected ? _this2._color.selected : _this2._fillFn.bind(_this2)(d);
                            });
                        }
                    },
                    {
                        key: '_handleMouseOver',
                        value: function _handleMouseOver(_feature, index, selection) {
                            var node = selection[index];
                            d3.select(node).style('fill', this._color.selected);
                        }
                    },
                    {
                        key: '_handleMouseOut',
                        value: function _handleMouseOut(_feature, index, selection) {
                            var _this3 = this;
                            var node = selection[index];
                            d3.select(node).style('fill', function (value) {
                                return _this3._fillFn.bind(_this3)(value) || 0;
                            });
                        }
                    },
                    {
                        key: '_onDataLoad',
                        value: function _onDataLoad(mapData) {
                            var _this4 = this;
                            var features = mapData.features;
                            var values = features.map(function (f) {
                                return f.properties[_this4._color.value];
                            });
                            this._domainMin = Math.min.apply(null, values);
                            this._domainMax = Math.max.apply(null, values);
                            this.colorScale = d3.scaleLinear().domain([
                                this._domainMin,
                                this._domainMax
                            ]).range([
                                this._color.range.min,
                                this._color.range.max
                            ]);
                            this.mapLayer.selectAll('path').data(features).enter().append('path').attr('d', this.path).attr('vector-effect', 'non-scaling-stroke').attr('fill', function (value) {
                                return _this4._fillFn.bind(_this4)(value) || 0;
                            }).on('click', this._handleClickHandler).on('mouseout', this._handleMouseOut.bind(this)).on('mouseover', this._handleMouseOver.bind(this));
                        }
                    }
                ]);
                return GeomapBase;
            }();
            var Geomap = function Geomap(_ref) {
                var data = _ref.data, _ref$elementProps = _ref.elementProps, elementProps = _ref$elementProps === void 0 ? {} : _ref$elementProps, forwardRef = _ref.forwardRef, otherProps = _objectWithoutProperties(_ref, _excluded);
                var elementRef = _react.default.useRef(null);
                _react.default.useEffect(function () {
                    if (forwardRef) {
                        forwardRef.current = new GeomapBase(_objectSpread(_objectSpread({}, otherProps), {}, {
                            data: data,
                            element: elementRef.current
                        }));
                        forwardRef.current.attached();
                    }
                    return function () {
                        forwardRef.current.disposed();
                    };
                }, []);
                var _ref2 = forwardRef.current ? forwardRef.current.getSize() : {}, _ref2$height = _ref2.height, height = _ref2$height === void 0 ? '100%' : _ref2$height, _ref2$width = _ref2.width, width = _ref2$width === void 0 ? '100%' : _ref2$width;
                return _react.default.createElement('div', _extends({
                    style: {
                        height: height,
                        width: width
                    }
                }, elementProps, { ref: elementRef }));
            };
            var _default = _react.default.forwardRef(function (props, ref) {
                return _react.default.createElement(Geomap, _extends({ forwardRef: ref }, props));
            });
            exports.default = _default;
        },
        './node_modules/@clayui/charts/lib/Predictive.js': function (module, exports, __webpack_require__) {
            'use strict';
            Object.defineProperty(exports, '__esModule', { value: true });
            exports.default = void 0;
            var _react = _interopRequireDefault(__REQUIRE__('__REACT_PROVIDER__$react'));
            var _BillboardWrapper = _interopRequireDefault(__webpack_require__('./node_modules/@clayui/charts/lib/BillboardWrapper.js'));
            var _excluded = [
                'data',
                'predictionDate'
            ];
            function _interopRequireDefault(obj) {
                return obj && obj.__esModule ? obj : { default: obj };
            }
            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 ownKeys(object, enumerableOnly) {
                var keys = Object.keys(object);
                if (Object.getOwnPropertySymbols) {
                    var symbols = Object.getOwnPropertySymbols(object);
                    if (enumerableOnly) {
                        symbols = symbols.filter(function (sym) {
                            return Object.getOwnPropertyDescriptor(object, sym).enumerable;
                        });
                    }
                    keys.push.apply(keys, symbols);
                }
                return keys;
            }
            function _objectSpread(target) {
                for (var i = 1; i < arguments.length; i++) {
                    var source = arguments[i] != null ? arguments[i] : {};
                    if (i % 2) {
                        ownKeys(Object(source), true).forEach(function (key) {
                            _defineProperty(target, key, source[key]);
                        });
                    } else if (Object.getOwnPropertyDescriptors) {
                        Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
                    } else {
                        ownKeys(Object(source)).forEach(function (key) {
                            Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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 _objectWithoutProperties(source, excluded) {
                if (source == null)
                    return {};
                var target = _objectWithoutPropertiesLoose(source, excluded);
                var key, i;
                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;
            }
            function _objectWithoutPropertiesLoose(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];
                }
                return target;
            }
            var PredictiveChart = _react.default.forwardRef(function (_ref, ref) {
                var data = _ref.data, predictionDate = _ref.predictionDate, otherProps = _objectWithoutProperties(_ref, _excluded);
                var columns = data.columns;
                if (columns) {
                    columns = columns.map(function (dataSeries) {
                        if (dataSeries[0] !== 'x') {
                            dataSeries = dataSeries.map(function (element) {
                                return typeof element === 'number' ? {
                                    high: element,
                                    low: element,
                                    mid: element
                                } : element;
                            });
                        }
                        return dataSeries;
                    });
                }
                var regions = [];
                if (predictionDate) {
                    regions.push({
                        axis: 'x',
                        start: predictionDate
                    });
                }
                return _react.default.createElement(_BillboardWrapper.default, _extends({
                    data: _objectSpread(_objectSpread({}, data), {}, { columns: columns }),
                    ref: ref,
                    regions: regions
                }, otherProps));
            });
            PredictiveChart.displayName = 'ClayPredictiveChart';
            var _default = PredictiveChart;
            exports.default = _default;
        },
        './node_modules/@clayui/charts/lib/config.js': function (module, exports, __webpack_require__) {
            'use strict';
            Object.defineProperty(exports, '__esModule', { value: true });
            exports.DEFAULT_TILES = exports.DEFAULT_POINT_PATTERNS = exports.DEFAULT_LINE_CLASSES = exports.DEFAULT_GRID_OBJECT = exports.DEFAULT_COLORS = void 0;
            var DEFAULT_COLORS = [
                '#4B9BFF',
                '#FFB46E',
                '#FF5F5F',
                '#50D2A0',
                '#FF73C3',
                '#9CE269',
                '#AF78FF',
                '#FFD76E',
                '#5FC8FF'
            ];
            exports.DEFAULT_COLORS = DEFAULT_COLORS;
            var DEFAULT_GRID_OBJECT = {
                x: { show: true },
                y: { show: true }
            };
            exports.DEFAULT_GRID_OBJECT = DEFAULT_GRID_OBJECT;
            var DEFAULT_LINE_CLASSES = [
                'bb-line-dashed-2-2',
                'bb-line-dashed-2-3',
                'bb-line-dashed-2-4',
                'bb-line-dashed-3-2',
                'bb-line-dashed-3-3',
                'bb-line-dashed-3-4',
                'bb-line-dashed-4-2',
                'bb-line-dashed-4-3',
                'bb-line-dashed-4-4'
            ];
            exports.DEFAULT_LINE_CLASSES = DEFAULT_LINE_CLASSES;
            var DEFAULT_TILES = [
                'circles',
                'diagonal-left-large',
                'diagonal-left-small',
                'diagonal-right-large',
                'diagonal-right-small',
                'horizontal-large',
                'horizontal-small',
                'vertical-large',
                'vertical-small'
            ];
            exports.DEFAULT_TILES = DEFAULT_TILES;
            var DEFAULT_POINT_PATTERNS = [
                'circle',
                'rectangle',
                '<polygon points="2.5 0 0 5 5 5"></polygon>',
                '<polygon points="2.5 0 0 2.5 2.5 5 5 2.5"></polygon>',
                '<polygon points="0 0 2.5 5 5 0"></polygon>',
                '<path d="M5,5 a1,1 0 1,1 5,0">',
                '<path d="M0,0 a1,1 0 0,0 5,0">',
                '<rect width="5" height="2.5"></rect>',
                '<rect width="2.5" height="5"></rect>'
            ];
            exports.DEFAULT_POINT_PATTERNS = DEFAULT_POINT_PATTERNS;
        },
        './node_modules/@clayui/charts/lib/index.js': function (module, exports, __webpack_require__) {
            'use strict';
            Object.defineProperty(exports, '__esModule', { value: true });
            Object.defineProperty(exports, 'bb', {
                enumerable: true,
                get: function get() {
                    return _billboard.bb;
                }
            });
            exports.default = void 0;
            var _billboard = __webpack_require__('./node_modules/billboard.js/dist/billboard.js');
            var _react = _interopRequireDefault(__REQUIRE__('__REACT_PROVIDER__$react'));
            var _BillboardWrapper = _interopRequireDefault(__webpack_require__('./node_modules/@clayui/charts/lib/BillboardWrapper.js'));
            var _GeoMap = _interopRequireDefault(__webpack_require__('./node_modules/@clayui/charts/lib/GeoMap.js'));
            var _Predictive = _interopRequireDefault(__webpack_require__('./node_modules/@clayui/charts/lib/Predictive.js'));
            var _config = __webpack_require__('./node_modules/@clayui/charts/lib/config.js');
            var _excluded = [
                'color',
                'data',
                'elementProps',
                'grid',
                'line',
                'point'
            ];
            function _interopRequireDefault(obj) {
                return obj && obj.__esModule ? obj : { default: obj };
            }
            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 ownKeys(object, enumerableOnly) {
                var keys = Object.keys(object);
                if (Object.getOwnPropertySymbols) {
                    var symbols = Object.getOwnPropertySymbols(object);
                    if (enumerableOnly) {
                        symbols = symbols.filter(function (sym) {
                            return Object.getOwnPropertyDescriptor(object, sym).enumerable;
                        });
                    }
                    keys.push.apply(keys, symbols);
                }
                return keys;
            }
            function _objectSpread(target) {
                for (var i = 1; i < arguments.length; i++) {
                    var source = arguments[i] != null ? arguments[i] : {};
                    if (i % 2) {
                        ownKeys(Object(source), true).forEach(function (key) {
                            _defineProperty(target, key, source[key]);
                        });
                    } else if (Object.getOwnPropertyDescriptors) {
                        Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));
                    } else {
                        ownKeys(Object(source)).forEach(function (key) {
                            Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(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 _objectWithoutProperties(source, excluded) {
                if (source == null)
                    return {};
                var target = _objectWithoutPropertiesLoose(source, excluded);
                var key, i;
                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;
            }
            function _objectWithoutPropertiesLoose(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];
                }
                return target;
            }
            var ClayChart = _react.default.forwardRef(function (_ref, ref) {
                var color = _ref.color, data = _ref.data, elementProps = _ref.elementProps, grid = _ref.grid, line = _ref.line, point = _ref.point, otherProps = _objectWithoutProperties(_ref, _excluded);
                var defaultRef = _react.default.useRef();
                var ChartComponent;
                switch (data.type) {
                case 'geo-map':
                    delete data.type;
                    ChartComponent = _GeoMap.default;
                    break;
                case 'predictive':
                    delete data.type;
                    ChartComponent = _Predictive.default;
                    break;
                default:
                    ChartComponent = _BillboardWrapper.default;
                }
                return _react.default.createElement(ChartComponent, _extends({}, otherProps, {
                    color: _objectSpread({ pattern: _config.DEFAULT_COLORS }, color),
                    data: data,
                    elementProps: elementProps,
                    grid: Object.assign(_config.DEFAULT_GRID_OBJECT, grid),
                    line: _objectSpread({ classes: _config.DEFAULT_LINE_CLASSES }, line),
                    point: _objectSpread({ pattern: _config.DEFAULT_POINT_PATTERNS }, point),
                    ref: ref || defaultRef
                }));
            });
            ClayChart.displayName = 'ClayChart';
            var _default = ClayChart;
            exports.default = _default;
        },
        './node_modules/@clayui/icon/lib/index.js': function (module, exports, __webpack_require__) {
            'use strict';
            Object.defineProperty(exports, '__esModule', { value: true });
            exports.default = exports.ClayIconSpriteContext = void 0;
            var _classnames = _interopRequireDefault(__webpack_require__('./node_modules/classnames/index.js'));
            var _react = _interopRequireDefault(__REQUIRE__('__REACT_PROVIDER__$react'));
            var _warning = _interopRequireDefault(__webpack_require__('./node_modules/warning/warning.js'));
            var _excluded = [
                'className',
                'spritemap',
                'symbol'
            ];
            function _interopRequireDefault(obj) {
                return obj && obj.__esModule ? obj : { default: obj };
            }
            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 = _objectWithoutPropertiesLoose(source, excluded);
                var key, i;
                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;
            }
            function _objectWithoutPropertiesLoose(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];
                }
                return target;
            }
            var ClayIconSpriteContext = _react.default.createContext('');
            exports.ClayIconSpriteContext = ClayIconSpriteContext;
            var ClayIcon = _react.default.forwardRef(function (_ref, ref) {
                var className = _ref.className, spritemap = _ref.spritemap, symbol = _ref.symbol, otherProps = _objectWithoutProperties(_ref, _excluded);
                var spriteMapVal = _react.default.useContext(ClayIconSpriteContext);
                if (spritemap) {
                    spriteMapVal = spritemap;
                }
                false ? undefined : void 0;
                return _react.default.createElement('svg', _extends({}, otherProps, {
                    className: (0, _classnames.default)('lexicon-icon lexicon-icon-'.concat(symbol), className),
                    key: symbol,
                    ref: ref,
                    role: 'presentation'
                }), _react.default.createElement('use', { xlinkHref: ''.concat(spriteMapVal, '#').concat(symbol) }));
            });
            ClayIcon.displayName = 'ClayIcon';
            var _default = ClayIcon;
            exports.default = _default;
        },
        './node_modules/axios/index.js': function (module, exports, __webpack_require__) {
            module.exports = __webpack_require__('./node_modules/axios/lib/axios.js');
        },
        './node_modules/axios/lib/adapters/xhr.js': function (module, exports, __webpack_require__) {
            'use strict';
            var utils = __webpack_require__('./node_modules/axios/lib/utils.js');
            var settle = __webpack_require__('./node_modules/axios/lib/core/settle.js');
            var cookies = __webpack_require__('./node_modules/axios/lib/helpers/cookies.js');
            var buildURL = __webpack_require__('./node_modules/axios/lib/helpers/buildURL.js');
            var buildFullPath = __webpack_require__('./node_modules/axios/lib/core/buildFullPath.js');
            var parseHeaders = __webpack_require__('./node_modules/axios/lib/helpers/parseHeaders.js');
            var isURLSameOrigin = __webpack_require__('./node_modules/axios/lib/helpers/isURLSameOrigin.js');
            var createError = __webpack_require__('./node_modules/axios/lib/core/createError.js');
            var defaults = __webpack_require__('./node_modules/axios/lib/defaults.js');
            var Cancel = __webpack_require__('./node_modules/axios/lib/cancel/Cancel.js');
            module.exports = function xhrAdapter(config) {
                return new Promise(function dispatchXhrRequest(resolve, reject) {
                    var requestData = config.data;
                    var requestHeaders = config.headers;
                    var responseType = config.responseType;
                    var onCanceled;
                    function done() {
                        if (config.cancelToken) {
                            config.cancelToken.unsubscribe(onCanceled);
                        }
                        if (config.signal) {
                            config.signal.removeEventListener('abort', onCanceled);
                        }
                    }
                    if (utils.isFormData(requestData)) {
                        delete requestHeaders['Content-Type'];
                    }
                    var request = new XMLHttpRequest();
                    if (config.auth) {
                        var username = config.auth.username || '';
                        var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';
                        requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);
                    }
                    var fullPath = buildFullPath(config.baseURL, config.url);
                    request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);
                    request.timeout = config.timeout;
                    function onloadend() {
                        if (!request) {
                            return;
                        }
                        var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;
                        var responseData = !responseType || responseType === 'text' || responseType === 'json' ? request.responseText : request.response;
                        var response = {
                            data: responseData,
                            status: request.status,
                            statusText: request.statusText,
                            headers: responseHeaders,
                            config: config,
                            request: request
                        };
                        settle(function _resolve(value) {
                            resolve(value);
                            done();
                        }, function _reject(err) {
                            reject(err);
                            done();
                        }, response);
                        request = null;
                    }
                    if ('onloadend' in request) {
                        request.onloadend = onloadend;
                    } else {
                        request.onreadystatechange = function handleLoad() {
                            if (!request || request.readyState !== 4) {
                                return;
                            }
                            if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {
                                return;
                            }
                            setTimeout(onloadend);
                        };
                    }
                    request.onabort = function handleAbort() {
                        if (!request) {
                            return;
                        }
                        reject(createError('Request aborted', config, 'ECONNABORTED', request));
                        request = null;
                    };
                    request.onerror = function handleError() {
                        reject(createError('Network Error', config, null, request));
                        request = null;
                    };
                    request.ontimeout = function handleTimeout() {
                        var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';
                        var transitional = config.transitional || defaults.transitional;
                        if (config.timeoutErrorMessage) {
                            timeoutErrorMessage = config.timeoutErrorMessage;
                        }
                        reject(createError(timeoutErrorMessage, config, transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED', request));
                        request = null;
                    };
                    if (utils.isStandardBrowserEnv()) {
                        var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ? cookies.read(config.xsrfCookieName) : undefined;
                        if (xsrfValue) {
                            requestHeaders[config.xsrfHeaderName] = xsrfValue;
                        }
                    }
                    if ('setRequestHeader' in request) {
                        utils.forEach(requestHeaders, function setRequestHeader(val, key) {
                            if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {
                                delete requestHeaders[key];
                            } else {
                                request.setRequestHeader(key, val);
                            }
                        });
                    }
                    if (!utils.isUndefined(config.withCredentials)) {
                        request.withCredentials = !!config.withCredentials;
                    }
                    if (responseType && responseType !== 'json') {
                        request.responseType = config.responseType;
                    }
                    if (typeof config.onDownloadProgress === 'function') {
                        request.addEventListener('progress', config.onDownloadProgress);
                    }
                    if (typeof config.onUploadProgress === 'function' && request.upload) {
                        request.upload.addEventListener('progress', config.onUploadProgress);
                    }
                    if (config.cancelToken || config.signal) {
                        onCanceled = function (cancel) {
                            if (!request) {
                                return;
                            }
                            reject(!cancel || cancel && cancel.type ? new Cancel('canceled') : cancel);
                            request.abort();
                            request = null;
                        };
                        config.cancelToken && config.cancelToken.subscribe(onCanceled);
                        if (config.signal) {
                            config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);
                        }
                    }
                    if (!requestData) {
                        requestData = null;
                    }
                    request.send(requestData);
                });
            };
        },
        './node_modules/axios/lib/axios.js': function (module, exports, __webpack_require__) {
            'use strict';
            var utils = __webpack_require__('./node_modules/axios/lib/utils.js');
            var bind = __webpack_require__('./node_modules/axios/lib/helpers/bind.js');
            var Axios = __webpack_require__('./node_modules/axios/lib/core/Axios.js');
            var mergeConfig = __webpack_require__('./node_modules/axios/lib/core/mergeConfig.js');
            var defaults = __webpack_require__('./node_modules/axios/lib/defaults.js');
            function createInstance(defaultConfig) {
                var context = new Axios(defaultConfig);
                var instance = bind(Axios.prototype.request, context);
                utils.extend(instance, Axios.prototype, context);
                utils.extend(instance, context);
                instance.create = function create(instanceConfig) {
                    return createInstance(mergeConfig(defaultConfig, instanceConfig));
                };
                return instance;
            }
            var axios = createInstance(defaults);
            axios.Axios = Axios;
            axios.Cancel = __webpack_require__('./node_modules/axios/lib/cancel/Cancel.js');
            axios.CancelToken = __webpack_require__('./node_modules/axios/lib/cancel/CancelToken.js');
            axios.isCancel = __webpack_require__('./node_modules/axios/lib/cancel/isCancel.js');
            axios.VERSION = __webpack_require__('./node_modules/axios/lib/env/data.js').version;
            axios.all = function all(promises) {
                return Promise.all(promises);
            };
            axios.spread = __webpack_require__('./node_modules/axios/lib/helpers/spread.js');
            axios.isAxiosError = __webpack_require__('./node_modules/axios/lib/helpers/isAxiosError.js');
            module.exports = axios;
            module.exports.default = axios;
        },
        './node_modules/axios/lib/cancel/Cancel.js': function (module, exports, __webpack_require__) {
            'use strict';
            function Cancel(message) {
                this.message = message;
            }
            Cancel.prototype.toString = function toString() {
                return 'Cancel' + (this.message ? ': ' + this.message : '');
            };
            Cancel.prototype.__CANCEL__ = true;
            module.exports = Cancel;
        },
        './node_modules/axios/lib/cancel/CancelToken.js': function (module, exports, __webpack_require__) {
            'use strict';
            var Cancel = __webpack_require__('./node_modules/axios/lib/cancel/Cancel.js');
            function CancelToken(executor) {
                if (typeof executor !== 'function') {
                    throw new TypeError('executor must be a function.');
                }
                var resolvePromise;
                this.promise = new Promise(function promiseExecutor(resolve) {
                    resolvePromise = resolve;
                });
                var token = this;
                this.promise.then(function (cancel) {
                    if (!token._listeners)
                        return;
                    var i;
                    var l = token._listeners.length;
                    for (i = 0; i < l; i++) {
                        token._listeners[i](cancel);
                    }
                    token._listeners = null;
                });
                this.promise.then = function (onfulfilled) {
                    var _resolve;
                    var promise = new Promise(function (resolve) {
                        token.subscribe(resolve);
                        _resolve = resolve;
                    }).then(onfulfilled);
                    promise.cancel = function reject() {
                        token.unsubscribe(_resolve);
                    };
                    return promise;
                };
                executor(function cancel(message) {
                    if (token.reason) {
                        return;
                    }
                    token.reason = new Cancel(message);
                    resolvePromise(token.reason);
                });
            }
            CancelToken.prototype.throwIfRequested = function throwIfRequested() {
                if (this.reason) {
                    throw this.reason;
                }
            };
            CancelToken.prototype.subscribe = function subscribe(listener) {
                if (this.reason) {
                    listener(this.reason);
                    return;
                }
                if (this._listeners) {
                    this._listeners.push(listener);
                } else {
                    this._listeners = [listener];
                }
            };
            CancelToken.prototype.unsubscribe = function unsubscribe(listener) {
                if (!this._listeners) {
                    return;
                }
                var index = this._listeners.indexOf(listener);
                if (index !== -1) {
                    this._listeners.splice(index, 1);
                }
            };
            CancelToken.source = function source() {
                var cancel;
                var token = new CancelToken(function executor(c) {
                    cancel = c;
                });
                return {
                    token: token,
                    cancel: cancel
                };
            };
            module.exports = CancelToken;
        },
        './node_modules/axios/lib/cancel/isCancel.js': function (module, exports, __webpack_require__) {
            'use strict';
            module.exports = function isCancel(value) {
                return !!(value && value.__CANCEL__);
            };
        },
        './node_modules/axios/lib/core/Axios.js': function (module, exports, __webpack_require__) {
            'use strict';
            var utils = __webpack_require__('./node_modules/axios/lib/utils.js');
            var buildURL = __webpack_require__('./node_modules/axios/lib/helpers/buildURL.js');
            var InterceptorManager = __webpack_require__('./node_modules/axios/lib/core/InterceptorManager.js');
            var dispatchRequest = __webpack_require__('./node_modules/axios/lib/core/dispatchRequest.js');
            var mergeConfig = __webpack_require__('./node_modules/axios/lib/core/mergeConfig.js');
            var validator = __webpack_require__('./node_modules/axios/lib/helpers/validator.js');
            var validators = validator.validators;
            function Axios(instanceConfig) {
                this.defaults = instanceConfig;
                this.interceptors = {
                    request: new InterceptorManager(),
                    response: new InterceptorManager()
                };
            }
            Axios.prototype.request = function request(config) {
                if (typeof config === 'string') {
                    config = arguments[1] || {};
                    config.url = arguments[0];
                } else {
                    config = config || {};
                }
                config = mergeConfig(this.defaults, config);
                if (config.method) {
                    config.method = config.method.toLowerCase();
                } else if (this.defaults.method) {
                    config.method = this.defaults.method.toLowerCase();
                } else {
                    config.method = 'get';
                }
                var transitional = config.transitional;
                if (transitional !== undefined) {
                    validator.assertOptions(transitional, {
                        silentJSONParsing: validators.transitional(validators.boolean),
                        forcedJSONParsing: validators.transitional(validators.boolean),
                        clarifyTimeoutError: validators.transitional(validators.boolean)
                    }, false);
                }
                var requestInterceptorChain = [];
                var synchronousRequestInterceptors = true;
                this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {
                    if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {
                        return;
                    }
                    synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;
                    requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);
                });
                var responseInterceptorChain = [];
                this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {
                    responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);
                });
                var promise;
                if (!synchronousRequestInterceptors) {
                    var chain = [
                        dispatchRequest,
                        undefined
                    ];
                    Array.prototype.unshift.apply(chain, requestInterceptorChain);
                    chain = chain.concat(responseInterceptorChain);
                    promise = Promise.resolve(config);
                    while (chain.length) {
                        promise = promise.then(chain.shift(), chain.shift());
                    }
                    return promise;
                }
                var newConfig = config;
                while (requestInterceptorChain.length) {
                    var onFulfilled = requestInterceptorChain.shift();
                    var onRejected = requestInterceptorChain.shift();
                    try {
                        newConfig = onFulfilled(newConfig);
                    } catch (error) {
                        onRejected(error);
                        break;
                    }
                }
                try {
                    promise = dispatchRequest(newConfig);
                } catch (error) {
                    return Promise.reject(error);
                }
                while (responseInterceptorChain.length) {
                    promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());
                }
                return promise;
            };
            Axios.prototype.getUri = function getUri(config) {
                config = mergeConfig(this.defaults, config);
                return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\?/, '');
            };
            utils.forEach([
                'delete',
                'get',
                'head',
                'options'
            ], function forEachMethodNoData(method) {
                Axios.prototype[method] = function (url, config) {
                    return this.request(mergeConfig(config || {}, {
                        method: method,
                        url: url,
                        data: (config || {}).data
                    }));
                };
            });
            utils.forEach([
                'post',
                'put',
                'patch'
            ], function forEachMethodWithData(method) {
                Axios.prototype[method] = function (url, data, config) {
                    return this.request(mergeConfig(config || {}, {
                        method: method,
                        url: url,
                        data: data
                    }));
                };
            });
            module.exports = Axios;
        },
        './node_modules/axios/lib/core/InterceptorManager.js': function (module, exports, __webpack_require__) {
            'use strict';
            var utils = __webpack_require__('./node_modules/axios/lib/utils.js');
            function InterceptorManager() {
                this.handlers = [];
            }
            InterceptorManager.prototype.use = function use(fulfilled, rejected, options) {
                this.handlers.push({
                    fulfilled: fulfilled,
                    rejected: rejected,
                    synchronous: options ? options.synchronous : false,
                    runWhen: options ? options.runWhen : null
                });
                return this.handlers.length - 1;
            };
            InterceptorManager.prototype.eject = function eject(id) {
                if (this.handlers[id]) {
                    this.handlers[id] = null;
                }
            };
            InterceptorManager.prototype.forEach = function forEach(fn) {
                utils.forEach(this.handlers, function forEachHandler(h) {
                    if (h !== null) {
                        fn(h);
                    }
                });
            };
            module.exports = InterceptorManager;
        },
        './node_modules/axios/lib/core/buildFullPath.js': function (module, exports, __webpack_require__) {
            'use strict';
            var isAbsoluteURL = __webpack_require__('./node_modules/axios/lib/helpers/isAbsoluteURL.js');
            var combineURLs = __webpack_require__('./node_modules/axios/lib/helpers/combineURLs.js');
            module.exports = function buildFullPath(baseURL, requestedURL) {
                if (baseURL && !isAbsoluteURL(requestedURL)) {
                    return combineURLs(baseURL, requestedURL);
                }
                return requestedURL;
            };
        },
        './node_modules/axios/lib/core/createError.js': function (module, exports, __webpack_require__) {
            'use strict';
            var enhanceError = __webpack_require__('./node_modules/axios/lib/core/enhanceError.js');
            module.exports = function createError(message, config, code, request, response) {
                var error = new Error(message);
                return enhanceError(error, config, code, request, response);
            };
        },
        './node_modules/axios/lib/core/dispatchRequest.js': function (module, exports, __webpack_require__) {
            'use strict';
            var utils = __webpack_require__('./node_modules/axios/lib/utils.js');
            var transformData = __webpack_require__('./node_modules/axios/lib/core/transformData.js');
            var isCancel = __webpack_require__('./node_modules/axios/lib/cancel/isCancel.js');
            var defaults = __webpack_require__('./node_modules/axios/lib/defaults.js');
            var Cancel = __webpack_require__('./node_modules/axios/lib/cancel/Cancel.js');
            function throwIfCancellationRequested(config) {
                if (config.cancelToken) {
                    config.cancelToken.throwIfRequested();
                }
                if (config.signal && config.signal.aborted) {
                    throw new Cancel('canceled');
                }
            }
            module.exports = function dispatchRequest(config) {
                throwIfCancellationRequested(config);
                config.headers = config.headers || {};
                config.data = transformData.call(config, config.data, config.headers, config.transformRequest);
                config.headers = utils.merge(config.headers.common || {}, config.headers[config.method] || {}, config.headers);
                utils.forEach([
                    'delete',
                    'get',
                    'head',
                    'post',
                    'put',
                    'patch',
                    'common'
                ], function cleanHeaderConfig(method) {
                    delete config.headers[method];
                });
                var adapter = config.adapter || defaults.adapter;
                return adapter(config).then(function onAdapterResolution(response) {
                    throwIfCancellationRequested(config);
                    response.data = transformData.call(config, response.data, response.headers, config.transformResponse);
                    return response;
                }, function onAdapterRejection(reason) {
                    if (!isCancel(reason)) {
                        throwIfCancellationRequested(config);
                        if (reason && reason.response) {
                            reason.response.data = transformData.call(config, reason.response.data, reason.response.headers, config.transformResponse);
                        }
                    }
                    return Promise.reject(reason);
                });
            };
        },
        './node_modules/axios/lib/core/enhanceError.js': function (module, exports, __webpack_require__) {
            'use strict';
            module.exports = function enhanceError(error, config, code, request, response) {
                error.config = config;
                if (code) {
                    error.code = code;
                }
                error.request = request;
                error.response = response;
                error.isAxiosError = true;
                error.toJSON = function toJSON() {
                    return {
                        message: this.message,
                        name: this.name,
                        description: this.description,
                        number: this.number,
                        fileName: this.fileName,
                        lineNumber: this.lineNumber,
                        columnNumber: this.columnNumber,
                        stack: this.stack,
                        config: this.config,
                        code: this.code,
                        status: this.response && this.response.status ? this.response.status : null
                    };
                };
                return error;
            };
        },
        './node_modules/axios/lib/core/mergeConfig.js': function (module, exports, __webpack_require__) {
            'use strict';
            var utils = __webpack_require__('./node_modules/axios/lib/utils.js');
            module.exports = function mergeConfig(config1, config2) {
                config2 = config2 || {};
                var config = {};
                function getMergedValue(target, source) {
                    if (utils.isPlainObject(target) && utils.isPlainObject(source)) {
                        return utils.merge(target, source);
                    } else if (utils.isPlainObject(source)) {
                        return utils.merge({}, source);
                    } else if (utils.isArray(source)) {
                        return source.slice();
                    }
                    return source;
                }
                function mergeDeepProperties(prop) {
                    if (!utils.isUndefined(config2[prop])) {
                        return getMergedValue(config1[prop], config2[prop]);
                    } else if (!utils.isUndefined(config1[prop])) {
                        return getMergedValue(undefined, config1[prop]);
                    }
                }
                function valueFromConfig2(prop) {
                    if (!utils.isUndefined(config2[prop])) {
                        return getMergedValue(undefined, config2[prop]);
                    }
                }
                function defaultToConfig2(prop) {
                    if (!utils.isUndefined(config2[prop])) {
                        return getMergedValue(undefined, config2[prop]);
                    } else if (!utils.isUndefined(config1[prop])) {
                        return getMergedValue(undefined, config1[prop]);
                    }
                }
                function mergeDirectKeys(prop) {
                    if (prop in config2) {
                        return getMergedValue(config1[prop], config2[prop]);
                    } else if (prop in config1) {
                        return getMergedValue(undefined, config1[prop]);
                    }
                }
                var mergeMap = {
                    'url': valueFromConfig2,
                    'method': valueFromConfig2,
                    'data': valueFromConfig2,
                    'baseURL': defaultToConfig2,
                    'transformRequest': defaultToConfig2,
                    'transformResponse': defaultToConfig2,
                    'paramsSerializer': defaultToConfig2,
                    'timeout': defaultToConfig2,
                    'timeoutMessage': defaultToConfig2,
                    'withCredentials': defaultToConfig2,
                    'adapter': defaultToConfig2,
                    'responseType': defaultToConfig2,
                    'xsrfCookieName': defaultToConfig2,
                    'xsrfHeaderName': defaultToConfig2,
                    'onUploadProgress': defaultToConfig2,
                    'onDownloadProgress': defaultToConfig2,
                    'decompress': defaultToConfig2,
                    'maxContentLength': defaultToConfig2,
                    'maxBodyLength': defaultToConfig2,
                    'transport': defaultToConfig2,
                    'httpAgent': defaultToConfig2,
                    'httpsAgent': defaultToConfig2,
                    'cancelToken': defaultToConfig2,
                    'socketPath': defaultToConfig2,
                    'responseEncoding': defaultToConfig2,
                    'validateStatus': mergeDirectKeys
                };
                utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {
                    var merge = mergeMap[prop] || mergeDeepProperties;
                    var configValue = merge(prop);
                    utils.isUndefined(configValue) && merge !== mergeDirectKeys || (config[prop] = configValue);
                });
                return config;
            };
        },
        './node_modules/axios/lib/core/settle.js': function (module, exports, __webpack_require__) {
            'use strict';
            var createError = __webpack_require__('./node_modules/axios/lib/core/createError.js');
            module.exports = function settle(resolve, reject, response) {
                var validateStatus = response.config.validateStatus;
                if (!response.status || !validateStatus || validateStatus(response.status)) {
                    resolve(response);
                } else {
                    reject(createError('Request failed with status code ' + response.status, response.config, null, response.request, response));
                }
            };
        },
        './node_modules/axios/lib/core/transformData.js': function (module, exports, __webpack_require__) {
            'use strict';
            var utils = __webpack_require__('./node_modules/axios/lib/utils.js');
            var defaults = __webpack_require__('./node_modules/axios/lib/defaults.js');
            module.exports = function transformData(data, headers, fns) {
                var context = this || defaults;
                utils.forEach(fns, function transform(fn) {
                    data = fn.call(context, data, headers);
                });
                return data;
            };
        },
        './node_modules/axios/lib/defaults.js': function (module, exports, __webpack_require__) {
            'use strict';
            (function (process) {
                var utils = __webpack_require__('./node_modules/axios/lib/utils.js');
                var normalizeHeaderName = __webpack_require__('./node_modules/axios/lib/helpers/normalizeHeaderName.js');
                var enhanceError = __webpack_require__('./node_modules/axios/lib/core/enhanceError.js');
                var DEFAULT_CONTENT_TYPE = { 'Content-Type': 'application/x-www-form-urlencoded' };
                function setContentTypeIfUnset(headers, value) {
                    if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {
                        headers['Content-Type'] = value;
                    }
                }
                function getDefaultAdapter() {
                    var adapter;
                    if (typeof XMLHttpRequest !== 'undefined') {
                        adapter = __webpack_require__('./node_modules/axios/lib/adapters/xhr.js');
                    } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {
                        adapter = __webpack_require__('./node_modules/axios/lib/adapters/xhr.js');
                    }
                    return adapter;
                }
                function stringifySafely(rawValue, parser, encoder) {
                    if (utils.isString(rawValue)) {
                        try {
                            (parser || JSON.parse)(rawValue);
                            return utils.trim(rawValue);
                        } catch (e) {
                            if (e.name !== 'SyntaxError') {
                                throw e;
                            }
                        }
                    }
                    return (encoder || JSON.stringify)(rawValue);
                }
                var defaults = {
                    transitional: {
                        silentJSONParsing: true,
                        forcedJSONParsing: true,
                        clarifyTimeoutError: false
                    },
                    adapter: getDefaultAdapter(),
                    transformRequest: [function transformRequest(data, headers) {
                            normalizeHeaderName(headers, 'Accept');
                            normalizeHeaderName(headers, 'Content-Type');
                            if (utils.isFormData(data) || utils.isArrayBuffer(data) || utils.isBuffer(data) || utils.isStream(data) || utils.isFile(data) || utils.isBlob(data)) {
                                return data;
                            }
                            if (utils.isArrayBufferView(data)) {
                                return data.buffer;
                            }
                            if (utils.isURLSearchParams(data)) {
                                setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');
                                return data.toString();
                            }
                            if (utils.isObject(data) || headers && headers['Content-Type'] === 'application/json') {
                                setContentTypeIfUnset(headers, 'application/json');
                                return stringifySafely(data);
                            }
                            return data;
                        }],
                    transformResponse: [function transformResponse(data) {
                            var transitional = this.transitional || defaults.transitional;
                            var silentJSONParsing = transitional && transitional.silentJSONParsing;
                            var forcedJSONParsing = transitional && transitional.forcedJSONParsing;
                            var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';
                            if (strictJSONParsing || forcedJSONParsing && utils.isString(data) && data.length) {
                                try {
                                    return JSON.parse(data);
                                } catch (e) {
                                    if (strictJSONParsing) {
                                        if (e.name === 'SyntaxError') {
                                            throw enhanceError(e, this, 'E_JSON_PARSE');
                                        }
                                        throw e;
                                    }
                                }
                            }
                            return data;
                        }],
                    timeout: 0,
                    xsrfCookieName: 'XSRF-TOKEN',
                    xsrfHeaderName: 'X-XSRF-TOKEN',
                    maxContentLength: -1,
                    maxBodyLength: -1,
                    validateStatus: function validateStatus(status) {
                        return status >= 200 && status < 300;
                    },
                    headers: { common: { 'Accept': 'application/json, text/plain, */*' } }
                };
                utils.forEach([
                    'delete',
                    'get',
                    'head'
                ], function forEachMethodNoData(method) {
                    defaults.headers[method] = {};
                });
                utils.forEach([
                    'post',
                    'put',
                    'patch'
                ], function forEachMethodWithData(method) {
                    defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);
                });
                module.exports = defaults;
            }.call(this, __webpack_require__('./node_modules/process/browser.js')));
        },
        './node_modules/axios/lib/env/data.js': function (module, exports) {
            module.exports = { 'version': '0.24.0' };
        },
        './node_modules/axios/lib/helpers/bind.js': function (module, exports, __webpack_require__) {
            'use strict';
            module.exports = function bind(fn, thisArg) {
                return function wrap() {
                    var args = new Array(arguments.length);
                    for (var i = 0; i < args.length; i++) {
                        args[i] = arguments[i];
                    }
                    return fn.apply(thisArg, args);
                };
            };
        },
        './node_modules/axios/lib/helpers/buildURL.js': function (module, exports, __webpack_require__) {
            'use strict';
            var utils = __webpack_require__('./node_modules/axios/lib/utils.js');
            function encode(val) {
                return encodeURIComponent(val).replace(/%3A/gi, ':').replace(/%24/g, '$').replace(/%2C/gi, ',').replace(/%20/g, '+').replace(/%5B/gi, '[').replace(/%5D/gi, ']');
            }
            module.exports = function buildURL(url, params, paramsSerializer) {
                if (!params) {
                    return url;
                }
                var serializedParams;
                if (paramsSerializer) {
                    serializedParams = paramsSerializer(params);
                } else if (utils.isURLSearchParams(params)) {
                    serializedParams = params.toString();
                } else {
                    var parts = [];
                    utils.forEach(params, function serialize(val, key) {
                        if (val === null || typeof val === 'undefined') {
                            return;
                        }
                        if (utils.isArray(val)) {
                            key = key + '[]';
                        } else {
                            val = [val];
                        }
                        utils.forEach(val, function parseValue(v) {
                            if (utils.isDate(v)) {
                                v = v.toISOString();
                            } else if (utils.isObject(v)) {
                                v = JSON.stringify(v);
                            }
                            parts.push(encode(key) + '=' + encode(v));
                        });
                    });
                    serializedParams = parts.join('&');
                }
                if (serializedParams) {
                    var hashmarkIndex = url.indexOf('#');
                    if (hashmarkIndex !== -1) {
                        url = url.slice(0, hashmarkIndex);
                    }
                    url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;
                }
                return url;
            };
        },
        './node_modules/axios/lib/helpers/combineURLs.js': function (module, exports, __webpack_require__) {
            'use strict';
            module.exports = function combineURLs(baseURL, relativeURL) {
                return relativeURL ? baseURL.replace(/\/+$/, '') + '/' + relativeURL.replace(/^\/+/, '') : baseURL;
            };
        },
        './node_modules/axios/lib/helpers/cookies.js': function (module, exports, __webpack_require__) {
            'use strict';
            var utils = __webpack_require__('./node_modules/axios/lib/utils.js');
            module.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv() {
                return {
                    write: function write(name, value, expires, path, domain, secure) {
                        var cookie = [];
                        cookie.push(name + '=' + encodeURIComponent(value));
                        if (utils.isNumber(expires)) {
                            cookie.push('expires=' + new Date(expires).toGMTString());
                        }
                        if (utils.isString(path)) {
                            cookie.push('path=' + path);
                        }
                        if (utils.isString(domain)) {
                            cookie.push('domain=' + domain);
                        }
                        if (secure === true) {
                            cookie.push('secure');
                        }
                        document.cookie = cookie.join('; ');
                    },
                    read: function read(name) {
                        var match = document.cookie.match(new RegExp('(^|;\\s*)(' + name + ')=([^;]*)'));
                        return match ? decodeURIComponent(match[3]) : null;
                    },
                    remove: function remove(name) {
                        this.write(name, '', Date.now() - 86400000);
                    }
                };
            }() : function nonStandardBrowserEnv() {
                return {
                    write: function write() {
                    },
                    read: function read() {
                        return null;
                    },
                    remove: function remove() {
                    }
                };
            }();
        },
        './node_modules/axios/lib/helpers/isAbsoluteURL.js': function (module, exports, __webpack_require__) {
            'use strict';
            module.exports = function isAbsoluteURL(url) {
                return /^([a-z][a-z\d\+\-\.]*:)?\/\//i.test(url);
            };
        },
        './node_modules/axios/lib/helpers/isAxiosError.js': function (module, exports, __webpack_require__) {
            'use strict';
            module.exports = function isAxiosError(payload) {
                return typeof payload === 'object' && payload.isAxiosError === true;
            };
        },
        './node_modules/axios/lib/helpers/isURLSameOrigin.js': function (module, exports, __webpack_require__) {
            'use strict';
            var utils = __webpack_require__('./node_modules/axios/lib/utils.js');
            module.exports = utils.isStandardBrowserEnv() ? function standardBrowserEnv() {
                var msie = /(msie|trident)/i.test(navigator.userAgent);
                var urlParsingNode = document.createElement('a');
                var originURL;
                function resolveURL(url) {
                    var href = url;
                    if (msie) {
                        urlParsingNode.setAttribute('href', href);
                        href = urlParsingNode.href;
                    }
                    urlParsingNode.setAttribute('href', href);
                    return {
                        href: urlParsingNode.href,
                        protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',
                        host: urlParsingNode.host,
                        search: urlParsingNode.search ? urlParsingNode.search.replace(/^\?/, '') : '',
                        hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',
                        hostname: urlParsingNode.hostname,
                        port: urlParsingNode.port,
                        pathname: urlParsingNode.pathname.charAt(0) === '/' ? urlParsingNode.pathname : '/' + urlParsingNode.pathname
                    };
                }
                originURL = resolveURL(window.location.href);
                return function isURLSameOrigin(requestURL) {
                    var parsed = utils.isString(requestURL) ? resolveURL(requestURL) : requestURL;
                    return parsed.protocol === originURL.protocol && parsed.host === originURL.host;
                };
            }() : function nonStandardBrowserEnv() {
                return function isURLSameOrigin() {
                    return true;
                };
            }();
        },
        './node_modules/axios/lib/helpers/normalizeHeaderName.js': function (module, exports, __webpack_require__) {
            'use strict';
            var utils = __webpack_require__('./node_modules/axios/lib/utils.js');
            module.exports = function normalizeHeaderName(headers, normalizedName) {
                utils.forEach(headers, function processHeader(value, name) {
                    if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {
                        headers[normalizedName] = value;
                        delete headers[name];
                    }
                });
            };
        },
        './node_modules/axios/lib/helpers/parseHeaders.js': function (module, exports, __webpack_require__) {
            'use strict';
            var utils = __webpack_require__('./node_modules/axios/lib/utils.js');
            var ignoreDuplicateOf = [
                'age',
                'authorization',
                'content-length',
                'content-type',
                'etag',
                'expires',
                'from',
                'host',
                'if-modified-since',
                'if-unmodified-since',
                'last-modified',
                'location',
                'max-forwards',
                'proxy-authorization',
                'referer',
                'retry-after',
                'user-agent'
            ];
            module.exports = function parseHeaders(headers) {
                var parsed = {};
                var key;
                var val;
                var i;
                if (!headers) {
                    return parsed;
                }
                utils.forEach(headers.split('\n'), function parser(line) {
                    i = line.indexOf(':');
                    key = utils.trim(line.substr(0, i)).toLowerCase();
                    val = utils.trim(line.substr(i + 1));
                    if (key) {
                        if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {
                            return;
                        }
                        if (key === 'set-cookie') {
                            parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);
                        } else {
                            parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;
                        }
                    }
                });
                return parsed;
            };
        },
        './node_modules/axios/lib/helpers/spread.js': function (module, exports, __webpack_require__) {
            'use strict';
            module.exports = function spread(callback) {
                return function wrap(arr) {
                    return callback.apply(null, arr);
                };
            };
        },
        './node_modules/axios/lib/helpers/validator.js': function (module, exports, __webpack_require__) {
            'use strict';
            var VERSION = __webpack_require__('./node_modules/axios/lib/env/data.js').version;
            var validators = {};
            [
                'object',
                'boolean',
                'number',
                'function',
                'string',
                'symbol'
            ].forEach(function (type, i) {
                validators[type] = function validator(thing) {
                    return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;
                };
            });
            var deprecatedWarnings = {};
            validators.transitional = function transitional(validator, version, message) {
                function formatMessage(opt, desc) {
                    return '[Axios v' + VERSION + '] Transitional option \'' + opt + '\'' + desc + (message ? '. ' + message : '');
                }
                return function (value, opt, opts) {
                    if (validator === false) {
                        throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));
                    }
                    if (version && !deprecatedWarnings[opt]) {
                        deprecatedWarnings[opt] = true;
                        console.warn(formatMessage(opt, ' has been deprecated since v' + version + ' and will be removed in the near future'));
                    }
                    return validator ? validator(value, opt, opts) : true;
                };
            };
            function assertOptions(options, schema, allowUnknown) {
                if (typeof options !== 'object') {
                    throw new TypeError('options must be an object');
                }
                var keys = Object.keys(options);
                var i = keys.length;
                while (i-- > 0) {
                    var opt = keys[i];
                    var validator = schema[opt];
                    if (validator) {
                        var value = options[opt];
                        var result = value === undefined || validator(value, opt, options);
                        if (result !== true) {
                            throw new TypeError('option ' + opt + ' must be ' + result);
                        }
                        continue;
                    }
                    if (allowUnknown !== true) {
                        throw Error('Unknown option ' + opt);
                    }
                }
            }
            module.exports = {
                assertOptions: assertOptions,
                validators: validators
            };
        },
        './node_modules/axios/lib/utils.js': function (module, exports, __webpack_require__) {
            'use strict';
            var bind = __webpack_require__('./node_modules/axios/lib/helpers/bind.js');
            var toString = Object.prototype.toString;
            function isArray(val) {
                return toString.call(val) === '[object Array]';
            }
            function isUndefined(val) {
                return typeof val === 'undefined';
            }
            function isBuffer(val) {
                return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor) && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);
            }
            function isArrayBuffer(val) {
                return toString.call(val) === '[object ArrayBuffer]';
            }
            function isFormData(val) {
                return typeof FormData !== 'undefined' && val instanceof FormData;
            }
            function isArrayBufferView(val) {
                var result;
                if (typeof ArrayBuffer !== 'undefined' && ArrayBuffer.isView) {
                    result = ArrayBuffer.isView(val);
                } else {
                    result = val && val.buffer && val.buffer instanceof ArrayBuffer;
                }
                return result;
            }
            function isString(val) {
                return typeof val === 'string';
            }
            function isNumber(val) {
                return typeof val === 'number';
            }
            function isObject(val) {
                return val !== null && typeof val === 'object';
            }
            function isPlainObject(val) {
                if (toString.call(val) !== '[object Object]') {
                    return false;
                }
                var prototype = Object.getPrototypeOf(val);
                return prototype === null || prototype === Object.prototype;
            }
            function isDate(val) {
                return toString.call(val) === '[object Date]';
            }
            function isFile(val) {
                return toString.call(val) === '[object File]';
            }
            function isBlob(val) {
                return toString.call(val) === '[object Blob]';
            }
            function isFunction(val) {
                return toString.call(val) === '[object Function]';
            }
            function isStream(val) {
                return isObject(val) && isFunction(val.pipe);
            }
            function isURLSearchParams(val) {
                return typeof URLSearchParams !== 'undefined' && val instanceof URLSearchParams;
            }
            function trim(str) {
                return str.trim ? str.trim() : str.replace(/^\s+|\s+$/g, '');
            }
            function isStandardBrowserEnv() {
                if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' || navigator.product === 'NativeScript' || navigator.product === 'NS')) {
                    return false;
                }
                return typeof window !== 'undefined' && typeof document !== 'undefined';
            }
            function forEach(obj, fn) {
                if (obj === null || typeof obj === 'undefined') {
                    return;
                }
                if (typeof obj !== 'object') {
                    obj = [obj];
                }
                if (isArray(obj)) {
                    for (var i = 0, l = obj.length; i < l; i++) {
                        fn.call(null, obj[i], i, obj);
                    }
                } else {
                    for (var key in obj) {
                        if (Object.prototype.hasOwnProperty.call(obj, key)) {
                            fn.call(null, obj[key], key, obj);
                        }
                    }
                }
            }
            function merge() {
                var result = {};
                function assignValue(val, key) {
                    if (isPlainObject(result[key]) && isPlainObject(val)) {
                        result[key] = merge(result[key], val);
                    } else if (isPlainObject(val)) {
                        result[key] = merge({}, val);
                    } else if (isArray(val)) {
                        result[key] = val.slice();
                    } else {
                        result[key] = val;
                    }
                }
                for (var i = 0, l = arguments.length; i < l; i++) {
                    forEach(arguments[i], assignValue);
                }
                return result;
            }
            function extend(a, b, thisArg) {
                forEach(b, function assignValue(val, key) {
                    if (thisArg && typeof val === 'function') {
                        a[key] = bind(val, thisArg);
                    } else {
                        a[key] = val;
                    }
                });
                return a;
            }
            function stripBOM(content) {
                if (content.charCodeAt(0) === 65279) {
                    content = content.slice(1);
                }
                return content;
            }
            module.exports = {
                isArray: isArray,
                isArrayBuffer: isArrayBuffer,
                isBuffer: isBuffer,
                isFormData: isFormData,
                isArrayBufferView: isArrayBufferView,
                isString: isString,
                isNumber: isNumber,
                isObject: isObject,
                isPlainObject: isPlainObject,
                isUndefined: isUndefined,
                isDate: isDate,
                isFile: isFile,
                isBlob: isBlob,
                isFunction: isFunction,
                isStream: isStream,
                isURLSearchParams: isURLSearchParams,
                isStandardBrowserEnv: isStandardBrowserEnv,
                forEach: forEach,
                merge: merge,
                extend: extend,
                trim: trim,
                stripBOM: stripBOM
            };
        },
        './node_modules/billboard.js/dist/billboard.js': function (module, exports, __webpack_require__) {
            (function (global) {
                (function webpackUniversalModuleDefinition(root, factory) {
                    if (true)
                        module.exports = factory(__webpack_require__('./node_modules/d3-time-format/src/index.js'), __webpack_require__('./node_modules/d3-selection/src/index.js'), __webpack_require__('./node_modules/d3-transition/src/index.js'), __webpack_require__('./node_modules/d3-axis/src/index.js'), __webpack_require__('./node_modules/d3-scale/src/index.js'), __webpack_require__('./node_modules/d3-brush/src/index.js'), __webpack_require__('./node_modules/d3-dsv/src/index.js'), __webpack_require__('./node_modules/d3-drag/src/index.js'), __webpack_require__('./node_modules/d3-shape/src/index.js'), __webpack_require__('./node_modules/d3-interpolate/src/index.js'), __webpack_require__('./node_modules/d3-color/src/index.js'), __webpack_require__('./node_modules/d3-zoom/src/index.js'), __webpack_require__('./node_modules/d3-ease/src/index.js'));
                    else {
                        var i, a;
                    }
                }(this, function (__WEBPACK_EXTERNAL_MODULE__2__, __WEBPACK_EXTERNAL_MODULE__3__, __WEBPACK_EXTERNAL_MODULE__4__, __WEBPACK_EXTERNAL_MODULE__5__, __WEBPACK_EXTERNAL_MODULE__6__, __WEBPACK_EXTERNAL_MODULE__7__, __WEBPACK_EXTERNAL_MODULE__8__, __WEBPACK_EXTERNAL_MODULE__9__, __WEBPACK_EXTERNAL_MODULE__10__, __WEBPACK_EXTERNAL_MODULE__11__, __WEBPACK_EXTERNAL_MODULE__12__, __WEBPACK_EXTERNAL_MODULE__13__, __WEBPACK_EXTERNAL_MODULE__14__) {
                    return function (modules) {
                        var installedModules = {};
                        function __webpack_require__(moduleId) {
                            if (installedModules[moduleId]) {
                                return installedModules[moduleId].exports;
                            }
                            var module = installedModules[moduleId] = {
                                i: moduleId,
                                l: false,
                                exports: {}
                            };
                            modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
                            module.l = true;
                            return module.exports;
                        }
                        __webpack_require__.m = modules;
                        __webpack_require__.c = installedModules;
                        __webpack_require__.d = function (exports, name, getter) {
                            if (!__webpack_require__.o(exports, name)) {
                                Object.defineProperty(exports, name, {
                                    enumerable: true,
                                    get: getter
                                });
                            }
                        };
                        __webpack_require__.r = function (exports) {
                            if (typeof Symbol !== 'undefined' && Symbol.toStringTag) {
                                Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
                            }
                            Object.defineProperty(exports, '__esModule', { value: true });
                        };
                        __webpack_require__.t = function (value, mode) {
                            if (mode & 1)
                                value = __webpack_require__(value);
                            if (mode & 8)
                                return value;
                            if (mode & 4 && typeof value === 'object' && value && value.__esModule)
                                return value;
                            var ns = Object.create(null);
                            __webpack_require__.r(ns);
                            Object.defineProperty(ns, 'default', {
                                enumerable: true,
                                value: value
                            });
                            if (mode & 2 && typeof value != 'string')
                                for (var key in value)
                                    __webpack_require__.d(ns, key, function (key) {
                                        return value[key];
                                    }.bind(null, key));
                            return ns;
                        };
                        __webpack_require__.n = function (module) {
                            var getter = module && module.__esModule ? function getDefault() {
                                return module['default'];
                            } : function getModuleExports() {
                                return module;
                            };
                            __webpack_require__.d(getter, 'a', getter);
                            return getter;
                        };
                        __webpack_require__.o = function (object, property) {
                            return Object.prototype.hasOwnProperty.call(object, property);
                        };
                        __webpack_require__.p = '';
                        return __webpack_require__(__webpack_require__.s = 0);
                    }([
                        function (module, exports, __webpack_require__) {
                            __webpack_require__(1);
                            module.exports = __webpack_require__(15);
                        },
                        function (module, exports, __webpack_require__) {
                        },
                        function (module, exports) {
                            module.exports = __WEBPACK_EXTERNAL_MODULE__2__;
                        },
                        function (module, exports) {
                            module.exports = __WEBPACK_EXTERNAL_MODULE__3__;
                        },
                        function (module, exports) {
                            module.exports = __WEBPACK_EXTERNAL_MODULE__4__;
                        },
                        function (module, exports) {
                            module.exports = __WEBPACK_EXTERNAL_MODULE__5__;
                        },
                        function (module, exports) {
                            module.exports = __WEBPACK_EXTERNAL_MODULE__6__;
                        },
                        function (module, exports) {
                            module.exports = __WEBPACK_EXTERNAL_MODULE__7__;
                        },
                        function (module, exports) {
                            module.exports = __WEBPACK_EXTERNAL_MODULE__8__;
                        },
                        function (module, exports) {
                            module.exports = __WEBPACK_EXTERNAL_MODULE__9__;
                        },
                        function (module, exports) {
                            module.exports = __WEBPACK_EXTERNAL_MODULE__10__;
                        },
                        function (module, exports) {
                            module.exports = __WEBPACK_EXTERNAL_MODULE__11__;
                        },
                        function (module, exports) {
                            module.exports = __WEBPACK_EXTERNAL_MODULE__12__;
                        },
                        function (module, exports) {
                            module.exports = __WEBPACK_EXTERNAL_MODULE__13__;
                        },
                        function (module, exports) {
                            module.exports = __WEBPACK_EXTERNAL_MODULE__14__;
                        },
                        function (module, __webpack_exports__, __webpack_require__) {
                            'use strict';
                            __webpack_require__.r(__webpack_exports__);
                            __webpack_require__.d(__webpack_exports__, 'bb', function () {
                                return bb;
                            });
                            function _classCallCheck(instance, Constructor) {
                                if (!(instance instanceof Constructor)) {
                                    throw new TypeError('Cannot call a class as a function');
                                }
                            }
                            function _arrayWithHoles(arr) {
                                if (Array.isArray(arr))
                                    return arr;
                            }
                            function _iterableToArrayLimit(arr, i) {
                                if (typeof Symbol === 'undefined' || !(Symbol.iterator in Object(arr)))
                                    return;
                                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 _arrayLikeToArray(arr, len) {
                                if (len == null || len > arr.length)
                                    len = arr.length;
                                for (var i = 0, arr2 = new Array(len); i < len; i++) {
                                    arr2[i] = arr[i];
                                }
                                return arr2;
                            }
                            function _unsupportedIterableToArray(o, minLen) {
                                if (!o)
                                    return;
                                if (typeof o === 'string')
                                    return _arrayLikeToArray(o, minLen);
                                var n = Object.prototype.toString.call(o).slice(8, -1);
                                if (n === 'Object' && o.constructor)
                                    n = o.constructor.name;
                                if (n === 'Map' || n === 'Set')
                                    return Array.from(o);
                                if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
                                    return _arrayLikeToArray(o, minLen);
                            }
                            function _nonIterableRest() {
                                throw new TypeError('Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
                            }
                            function _slicedToArray(arr, i) {
                                return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
                            }
                            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 external_commonjs_d3_time_format_commonjs2_d3_time_format_amd_d3_time_format_root_d3_ = __webpack_require__(2);
                            var external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_ = __webpack_require__(3);
                            var external_commonjs_d3_transition_commonjs2_d3_transition_amd_d3_transition_root_d3_ = __webpack_require__(4);
                            var external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_ = __webpack_require__(5);
                            var external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_ = __webpack_require__(6);
                            var config_classes = {
                                arc: 'bb-arc',
                                arcLabelLine: 'bb-arc-label-line',
                                arcs: 'bb-arcs',
                                area: 'bb-area',
                                areas: 'bb-areas',
                                axis: 'bb-axis',
                                axisX: 'bb-axis-x',
                                axisXLabel: 'bb-axis-x-label',
                                axisY: 'bb-axis-y',
                                axisY2: 'bb-axis-y2',
                                axisY2Label: 'bb-axis-y2-label',
                                axisYLabel: 'bb-axis-y-label',
                                bar: 'bb-bar',
                                bars: 'bb-bars',
                                brush: 'bb-brush',
                                button: 'bb-button',
                                buttonZoomReset: 'bb-zoom-reset',
                                chart: 'bb-chart',
                                chartArc: 'bb-chart-arc',
                                chartArcs: 'bb-chart-arcs',
                                chartArcsBackground: 'bb-chart-arcs-background',
                                chartArcsGaugeMax: 'bb-chart-arcs-gauge-max',
                                chartArcsGaugeMin: 'bb-chart-arcs-gauge-min',
                                chartArcsGaugeUnit: 'bb-chart-arcs-gauge-unit',
                                chartArcsTitle: 'bb-chart-arcs-title',
                                chartArcsGaugeTitle: 'bb-chart-arcs-gauge-title',
                                chartBar: 'bb-chart-bar',
                                chartBars: 'bb-chart-bars',
                                chartLine: 'bb-chart-line',
                                chartLines: 'bb-chart-lines',
                                chartRadar: 'bb-chart-radar',
                                chartRadars: 'bb-chart-radars',
                                chartText: 'bb-chart-text',
                                chartTexts: 'bb-chart-texts',
                                circle: 'bb-circle',
                                circles: 'bb-circles',
                                colorPattern: 'bb-color-pattern',
                                colorScale: 'bb-colorscale',
                                defocused: 'bb-defocused',
                                dragarea: 'bb-dragarea',
                                empty: 'bb-empty',
                                eventRect: 'bb-event-rect',
                                eventRects: 'bb-event-rects',
                                eventRectsMultiple: 'bb-event-rects-multiple',
                                eventRectsSingle: 'bb-event-rects-single',
                                focused: 'bb-focused',
                                gaugeValue: 'bb-gauge-value',
                                grid: 'bb-grid',
                                gridLines: 'bb-grid-lines',
                                legendBackground: 'bb-legend-background',
                                legendItem: 'bb-legend-item',
                                legendItemEvent: 'bb-legend-item-event',
                                legendItemFocused: 'bb-legend-item-focused',
                                legendItemHidden: 'bb-legend-item-hidden',
                                legendItemPoint: 'bb-legend-item-point',
                                legendItemTile: 'bb-legend-item-tile',
                                level: 'bb-level',
                                levels: 'bb-levels',
                                line: 'bb-line',
                                lines: 'bb-lines',
                                region: 'bb-region',
                                regions: 'bb-regions',
                                selectedCircle: 'bb-selected-circle',
                                selectedCircles: 'bb-selected-circles',
                                shape: 'bb-shape',
                                shapes: 'bb-shapes',
                                stanfordElements: 'bb-stanford-elements',
                                stanfordLine: 'bb-stanford-line',
                                stanfordLines: 'bb-stanford-lines',
                                stanfordRegion: 'bb-stanford-region',
                                stanfordRegions: 'bb-stanford-regions',
                                target: 'bb-target',
                                text: 'bb-text',
                                texts: 'bb-texts',
                                title: 'bb-title',
                                tooltip: 'bb-tooltip',
                                tooltipContainer: 'bb-tooltip-container',
                                tooltipName: 'bb-tooltip-name',
                                xgrid: 'bb-xgrid',
                                xgridFocus: 'bb-xgrid-focus',
                                xgridLine: 'bb-xgrid-line',
                                xgridLines: 'bb-xgrid-lines',
                                xgrids: 'bb-xgrids',
                                ygrid: 'bb-ygrid',
                                ygridFocus: 'bb-ygrid-focus',
                                ygridLine: 'bb-ygrid-line',
                                ygridLines: 'bb-ygrid-lines',
                                ygrids: 'bb-ygrids',
                                zoomBrush: 'bb-zoom-brush',
                                zoomRect: 'bb-zoom-rect',
                                EXPANDED: '_expanded_',
                                SELECTED: '_selected_',
                                INCLUDED: '_included_',
                                TextOverlapping: 'text-overlapping'
                            };
                            function _arrayWithoutHoles(arr) {
                                if (Array.isArray(arr))
                                    return _arrayLikeToArray(arr);
                            }
                            function _iterableToArray(iter) {
                                if (typeof Symbol !== 'undefined' && Symbol.iterator in Object(iter))
                                    return Array.from(iter);
                            }
                            function _nonIterableSpread() {
                                throw new TypeError('Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
                            }
                            function _toConsumableArray(arr) {
                                return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread();
                            }
                            function _typeof(obj) {
                                '@babel/helpers - typeof';
                                if (typeof Symbol === 'function' && typeof Symbol.iterator === 'symbol') {
                                    _typeof = function _typeof(obj) {
                                        return typeof obj;
                                    };
                                } else {
                                    _typeof = function _typeof(obj) {
                                        return obj && typeof Symbol === 'function' && obj.constructor === Symbol && obj !== Symbol.prototype ? 'symbol' : typeof obj;
                                    };
                                }
                                return _typeof(obj);
                            }
                            var external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_ = __webpack_require__(7);
                            var win = function () {
                                    var def = function (o) {
                                        return typeof o !== 'undefined' && o;
                                    };
                                    return def(self) || def(window) || def(global) || def(globalThis) || Function('return this')();
                                }(), browser_doc = win && win.document;
                            var isValue = function (v) {
                                    return v || v === 0;
                                }, isFunction = function (v) {
                                    return typeof v === 'function';
                                }, isString = function (v) {
                                    return typeof v === 'string';
                                }, isNumber = function (v) {
                                    return typeof v === 'number';
                                }, isUndefined = function (v) {
                                    return typeof v === 'undefined';
                                }, isDefined = function (v) {
                                    return typeof v !== 'undefined';
                                }, isBoolean = function (v) {
                                    return typeof v === 'boolean';
                                }, ceil10 = function (v) {
                                    return Math.ceil(v / 10) * 10;
                                }, asHalfPixel = function (n) {
                                    return Math.ceil(n) + 0.5;
                                }, diffDomain = function (d) {
                                    return d[1] - d[0];
                                }, isObjectType = function (v) {
                                    return _typeof(v) === 'object';
                                }, isEmpty = function (o) {
                                    return isUndefined(o) || o === null || isString(o) && o.length === 0 || isObjectType(o) && !(o instanceof Date) && Object.keys(o).length === 0 || isNumber(o) && isNaN(o);
                                }, notEmpty = function (o) {
                                    return !isEmpty(o);
                                }, isArray = function (arr) {
                                    return arr && arr.constructor === Array;
                                }, isObject = function (obj) {
                                    return obj && !obj.nodeType && isObjectType(obj) && !isArray(obj);
                                }, getOption = function (options, key, defaultValue) {
                                    return isDefined(options[key]) ? options[key] : defaultValue;
                                }, util_hasValue = function (dict, value) {
                                    var found = !1;
                                    return Object.keys(dict).forEach(function (key) {
                                        return dict[key] === value && (found = !0);
                                    }), found;
                                }, callFn = function (fn) {
                                    for (var isFn = isFunction(fn), _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++)
                                        args[_key - 1] = arguments[_key];
                                    return isFn && fn.call.apply(fn, args), isFn;
                                }, sanitise = function (str) {
                                    return isString(str) ? str.replace(/</g, '&lt;').replace(/>/g, '&gt;') : str;
                                }, setTextValue = function (node, text) {
                                    var dy = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [
                                            -1,
                                            1
                                        ], toMiddle = !!(arguments.length > 3 && arguments[3] !== undefined) && arguments[3];
                                    if (node && isString(text))
                                        if (text.indexOf('\n') === -1)
                                            node.text(text);
                                        else {
                                            var diff = [
                                                node.text(),
                                                text
                                            ].map(function (v) {
                                                return v.replace(/[\s\n]/g, '');
                                            });
                                            if (diff[0] !== diff[1]) {
                                                var multiline = text.split('\n'), len = toMiddle ? multiline.length - 1 : 1;
                                                node.html(''), multiline.forEach(function (v, i) {
                                                    node.append('tspan').attr('x', 0).attr('dy', ''.concat(i === 0 ? dy[0] * len : dy[1], 'em')).text(v);
                                                });
                                            }
                                        }
                                }, getRectSegList = function (path) {
                                    var _path$getBBox = path.getBBox(), x = _path$getBBox.x, y = _path$getBBox.y, width = _path$getBBox.width, height = _path$getBBox.height;
                                    return [
                                        {
                                            x: x,
                                            y: y + height
                                        },
                                        {
                                            x: x,
                                            y: y
                                        },
                                        {
                                            x: x + width,
                                            y: y
                                        },
                                        {
                                            x: x + width,
                                            y: y + height
                                        }
                                    ];
                                }, getPathBox = function (path) {
                                    var _path$getBoundingClie = path.getBoundingClientRect(), width = _path$getBoundingClie.width, height = _path$getBoundingClie.height, items = getRectSegList(path), x = items[0].x, y = Math.min(items[0].y, items[1].y);
                                    return {
                                        x: x,
                                        y: y,
                                        width: width,
                                        height: height
                                    };
                                }, getBrushSelection = function (ctx) {
                                    var selection = null, event = external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['event'], main = ctx.context || ctx.main;
                                    return event && event.constructor.name === 'BrushEvent' ? selection = event.selection : main && (selection = main.select('.'.concat(config_classes.brush)).node()) && (selection = Object(external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_['brushSelection'])(selection)), selection;
                                }, getBoundingRect = function (node) {
                                    return node.rect || (node.rect = node.getBoundingClientRect());
                                }, getRandom = function () {
                                    var asStr = !(arguments.length > 0 && arguments[0] !== undefined) || arguments[0];
                                    return Math.random() + (asStr ? '' : 0);
                                }, brushEmpty = function (ctx) {
                                    var selection = getBrushSelection(ctx);
                                    return !selection || selection[0] === selection[1];
                                }, extend = function () {
                                    var target = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, source = arguments.length > 1 ? arguments[1] : undefined;
                                    for (var p in source)
                                        target[p] = source[p];
                                    return target;
                                }, capitalize = function (str) {
                                    return str.charAt(0).toUpperCase() + str.slice(1);
                                }, toArray = function (v) {
                                    return [].slice.call(v);
                                }, getCssRules = function (styleSheets) {
                                    var rules = [];
                                    return styleSheets.forEach(function (sheet) {
                                        try {
                                            sheet.cssRules && sheet.cssRules.length && (rules = rules.concat(toArray(sheet.cssRules)));
                                        } catch (e) {
                                            console.error('Error while reading rules from '.concat(sheet.href, ': ').concat(e.toString()));
                                        }
                                    }), rules;
                                }, getTranslation = function (node) {
                                    var transform = node ? node.transform : null, baseVal = transform && transform.baseVal;
                                    return baseVal && baseVal.numberOfItems ? baseVal.getItem(0).matrix : {
                                        a: 0,
                                        b: 0,
                                        c: 0,
                                        d: 0,
                                        e: 0,
                                        f: 0
                                    };
                                }, getUnique = function (data) {
                                    var isDate = data[0] instanceof Date, d = (isDate ? data.map(Number) : data).filter(function (v, i, self) {
                                            return self.indexOf(v) === i;
                                        });
                                    return isDate ? d.map(function (v) {
                                        return new Date(v);
                                    }) : d;
                                }, mergeArray = function (arr) {
                                    return arr && arr.length ? arr.reduce(function (p, c) {
                                        return p.concat(c);
                                    }) : [];
                                }, mergeObj = function (_mergeObj) {
                                    function mergeObj() {
                                        return _mergeObj.apply(this, arguments);
                                    }
                                    return mergeObj.toString = function () {
                                        return _mergeObj.toString();
                                    }, mergeObj;
                                }(function (target) {
                                    for (var _len2 = arguments.length, objectN = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++)
                                        objectN[_key2 - 1] = arguments[_key2];
                                    if (!objectN.length || objectN.length === 1 && !objectN[0])
                                        return target;
                                    var source = objectN.shift();
                                    return isObject(target) && isObject(source) && Object.keys(source).forEach(function (key) {
                                        var value = source[key];
                                        isObject(value) ? (!target[key] && (target[key] = {}), target[key] = mergeObj(target[key], value)) : target[key] = isArray(value) ? value.concat() : value;
                                    }), mergeObj.apply(void 0, [target].concat(objectN));
                                }), sortValue = function (data) {
                                    var fn, isAsc = !(arguments.length > 1 && arguments[1] !== undefined) || arguments[1];
                                    return data[0] instanceof Date ? fn = isAsc ? function (a, b) {
                                        return a - b;
                                    } : function (a, b) {
                                        return b - a;
                                    } : isAsc && !data.every(isNaN) ? fn = function (a, b) {
                                        return a - b;
                                    } : !isAsc && (fn = function (a, b) {
                                        return a > b && -1 || a < b && 1 || a === b && 0;
                                    }), data.concat().sort(fn);
                                }, getMinMax = function (type, data) {
                                    var res = data.filter(function (v) {
                                        return notEmpty(v);
                                    });
                                    return res.length ? isNumber(res[0]) ? res = Math[type].apply(Math, _toConsumableArray(res)) : res[0] instanceof Date && (res = sortValue(res, type === 'min')[0]) : res = undefined, res;
                                }, getRange = function (start, end) {
                                    for (var step = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 1, res = [], n = Math.max(0, Math.ceil((end - start) / step)) | 0, i = start; i < n; i++)
                                        res.push(start + i * step);
                                    return res;
                                }, emulateEvent = {
                                    mouse: function () {
                                        var getParams = function () {
                                            return {
                                                bubbles: !1,
                                                cancelable: !1,
                                                screenX: 0,
                                                screenY: 0,
                                                clientX: 0,
                                                clientY: 0
                                            };
                                        };
                                        try {
                                            return new MouseEvent('t'), function (el, eventType) {
                                                var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getParams();
                                                el.dispatchEvent(new MouseEvent(eventType, params));
                                            };
                                        } catch (e) {
                                            return function (el, eventType) {
                                                var params = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : getParams(), mouseEvent = browser_doc.createEvent('MouseEvent');
                                                mouseEvent.initMouseEvent(eventType, params.bubbles, params.cancelable, win, 0, params.screenX, params.screenY, params.clientX, params.clientY, !1, !1, !1, !1, 0, null), el.dispatchEvent(mouseEvent);
                                            };
                                        }
                                    }(),
                                    touch: function touch(el, eventType, params) {
                                        var touchObj = new Touch(mergeObj({
                                            identifier: Date.now(),
                                            target: el,
                                            radiusX: 2.5,
                                            radiusY: 2.5,
                                            rotationAngle: 10,
                                            force: 0.5
                                        }, params));
                                        el.dispatchEvent(new TouchEvent(eventType, {
                                            cancelable: !0,
                                            bubbles: !0,
                                            shiftKey: !0,
                                            touches: [touchObj],
                                            targetTouches: [],
                                            changedTouches: [touchObj]
                                        }));
                                    }
                                }, tplProcess = function (tpl, data) {
                                    var res = tpl;
                                    for (var x in data)
                                        res = res.replace(new RegExp('{='.concat(x, '}'), 'g'), data[x]);
                                    return res;
                                };
                            var AxisRendererHelper_AxisRendererHelper = function () {
                                function AxisRendererHelper(owner) {
                                    _classCallCheck(this, AxisRendererHelper);
                                    var scale = Object(external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_['scaleLinear'])(), config = owner.config, params = owner.params;
                                    this.owner = owner, this.config = config, this.scale = scale, (config.noTransition || !params.config.transition_duration) && (config.withoutTransition = !0), config.range = scale.rangeExtent ? scale.rangeExtent() : this.scaleExtent((params.orgXScale || scale).range());
                                }
                                return _createClass(AxisRendererHelper, [
                                    {
                                        key: 'getTickTransformSetter',
                                        value: function getTickTransformSetter(id) {
                                            var config = this.config, fn = id === 'x' ? function (value) {
                                                    return 'translate('.concat(value + config.tickOffset, ',0)');
                                                } : function (value) {
                                                    return 'translate(0,'.concat(value, ')');
                                                };
                                            return function (selection, scale) {
                                                selection.attr('transform', function (d) {
                                                    return fn(Math.ceil(scale(d)));
                                                });
                                            };
                                        }
                                    },
                                    {
                                        key: 'scaleExtent',
                                        value: function scaleExtent(domain) {
                                            var start = domain[0], stop = domain[domain.length - 1];
                                            return start < stop ? [
                                                start,
                                                stop
                                            ] : [
                                                stop,
                                                start
                                            ];
                                        }
                                    },
                                    {
                                        key: 'generateTicks',
                                        value: function generateTicks(scale, isYAxes) {
                                            var tickStepSize = this.owner.params.tickStepSize, ticks = [];
                                            if (isYAxes && tickStepSize)
                                                for (var _scale$domain = scale.domain(), _scale$domain2 = _slicedToArray(_scale$domain, 2), start = _scale$domain2[0], end = _scale$domain2[1], interval = start; interval <= end;)
                                                    ticks.push(interval), interval += tickStepSize;
                                            else if (scale.ticks)
                                                ticks = scale.ticks.apply(scale, _toConsumableArray(this.config.tickArguments || [])).map(function (v) {
                                                    return isString(v) && isNumber(v) && !isNaN(v) && Math.round(v * 10) / 10 || v;
                                                });
                                            else {
                                                for (var domain = scale.domain(), i = Math.ceil(domain[0]); i < domain[1]; i++)
                                                    ticks.push(i);
                                                ticks.length > 0 && ticks[0] > 0 && ticks.unshift(ticks[0] - (ticks[1] - ticks[0]));
                                            }
                                            return ticks;
                                        }
                                    },
                                    {
                                        key: 'copyScale',
                                        value: function copyScale() {
                                            var newScale = this.scale.copy();
                                            return newScale.domain().length || newScale.domain(this.scale.domain()), newScale;
                                        }
                                    },
                                    {
                                        key: 'textFormatted',
                                        value: function textFormatted(v) {
                                            var tickFormat = this.config.tickFormat, value = /\d+\.\d+0{5,}\d$/.test(v) ? +(v + '').replace(/0+\d$/, '') : v, formatted = tickFormat ? tickFormat(value) : value;
                                            return isDefined(formatted) ? formatted : '';
                                        }
                                    },
                                    {
                                        key: 'transitionise',
                                        value: function transitionise(selection) {
                                            var config = this.config;
                                            return config.withoutTransition ? selection.interrupt() : selection.transition(config.transition);
                                        }
                                    }
                                ], [{
                                        key: 'getSizeFor1Char',
                                        value: function getSizeFor1Char(node) {
                                            var size = {
                                                w: 5.5,
                                                h: 11.5
                                            };
                                            return node.empty() || node.select('text').text('0').call(function (el) {
                                                try {
                                                    var _el$node$getBBox = el.node().getBBox(), width = _el$node$getBBox.width, height = _el$node$getBBox.height;
                                                    width && height && (size.w = width, size.h = height);
                                                } catch (e) {
                                                } finally {
                                                    el.text('');
                                                }
                                            }), this.getSizeFor1Char = function () {
                                                return size;
                                            }, size;
                                        }
                                    }]), AxisRendererHelper;
                            }();
                            var AxisRenderer_AxisRenderer = function () {
                                function AxisRenderer() {
                                    var params = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
                                    _classCallCheck(this, AxisRenderer);
                                    var config = {
                                        innerTickSize: 6,
                                        outerTickSize: params.outerTick ? 6 : 0,
                                        orient: 'bottom',
                                        range: [],
                                        tickArguments: null,
                                        tickCentered: null,
                                        tickCulling: !0,
                                        tickFormat: null,
                                        tickLength: 9,
                                        tickOffset: 0,
                                        tickPadding: 3,
                                        tickValues: null,
                                        transition: null,
                                        noTransition: params.noTransition
                                    };
                                    config.tickLength = Math.max(config.innerTickSize, 0) + config.tickPadding, this.config = config, this.params = params, this.helper = new AxisRendererHelper_AxisRendererHelper(this);
                                }
                                return _createClass(AxisRenderer, [
                                    {
                                        key: 'create',
                                        value: function create(g) {
                                            var ctx = this, config = this.config, helper = this.helper, params = this.params, scale = helper.scale, orient = config.orient, splitTickText = this.splitTickText.bind(this), isLeftRight = /^(left|right)$/.test(orient), isTopBottom = /^(top|bottom)$/.test(orient), tickTransform = helper.getTickTransformSetter(isTopBottom ? 'x' : 'y'), axisPx = tickTransform === helper.axisX ? 'y' : 'x', sign = /^(top|left)$/.test(orient) ? -1 : 1, rotate = params.tickTextRotate;
                                            this.config.range = scale.rangeExtent ? scale.rangeExtent() : helper.scaleExtent((params.orgXScale || scale).range());
                                            var _config2 = config, innerTickSize = _config2.innerTickSize, tickLength = _config2.tickLength, range = _config2.range, name = params.name, tickTextPos = name && /^(x|y|y2)$/.test(name) ? params.config['axis_'.concat(name, '_tick_text_position')] : {
                                                    x: 0,
                                                    y: 0
                                                }, prefix = name === 'subX' ? 'subchart_axis_x' : 'axis_'.concat(name), axisShow = params.config[''.concat(prefix, '_show')], tickShow = {
                                                    tick: !!axisShow && params.config[''.concat(prefix, '_tick_show')],
                                                    text: !!axisShow && params.config[''.concat(prefix, '_tick_text_show')]
                                                }, $g = null;
                                            g.each(function () {
                                                var g = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this), scale0 = this.__chart__ || scale, scale1 = helper.copyScale();
                                                $g = g, this.__chart__ = scale1, config.tickOffset = params.isCategory ? Math.ceil((scale1(1) - scale1(0)) / 2) : 0;
                                                var path = g.selectAll('.domain').data([0]);
                                                if (path.enter().append('path').attr('class', 'domain').merge(helper.transitionise(path)).attr('d', function () {
                                                        var outerTickSized = config.outerTickSize * sign;
                                                        return isTopBottom ? 'M'.concat(range[0], ',').concat(outerTickSized, 'V0H').concat(range[1], 'V').concat(outerTickSized) : 'M'.concat(outerTickSized, ',').concat(range[0], 'H0V').concat(range[1], 'H').concat(outerTickSized);
                                                    }), tickShow.tick || tickShow.text) {
                                                    var ticks = config.tickValues || helper.generateTicks(scale1, isLeftRight), tick = g.selectAll('.tick').data(ticks, scale1), tickEnter = tick.enter().insert('g', '.domain').attr('class', 'tick').style('opacity', '1'), tickExit = tick.exit().remove();
                                                    tick = tickEnter.merge(tick), tickShow.tick && tickEnter.append('line'), tickShow.text && tickEnter.append('text');
                                                    var sizeFor1Char = AxisRendererHelper_AxisRendererHelper.getSizeFor1Char(tick), counts = [], tspan = tick.select('text').selectAll('tspan').data(function (d, index) {
                                                            var split = params.tickMultiline ? splitTickText(d, scale1, ticks, isLeftRight, sizeFor1Char.w) : isArray(helper.textFormatted(d)) ? helper.textFormatted(d).concat() : [helper.textFormatted(d)];
                                                            return counts[index] = split.length, split.map(function (splitted) {
                                                                return {
                                                                    index: index,
                                                                    splitted: splitted
                                                                };
                                                            });
                                                        });
                                                    tspan.exit().remove(), tspan = tspan.enter().append('tspan').merge(tspan).text(function (d) {
                                                        return d.splitted;
                                                    }), tspan.attr('x', isTopBottom ? 0 : tickLength * sign).attr('dx', function () {
                                                        var dx = 0;
                                                        return /(top|bottom)/.test(orient) && rotate && (dx = 8 * Math.sin(Math.PI * (rotate / 180)) * (orient === 'top' ? -1 : 1)), dx + (tickTextPos.x || 0);
                                                    }()).attr('dy', function (d, i) {
                                                        var dy = 0;
                                                        return orient !== 'top' && (dy = sizeFor1Char.h, i === 0 && (dy = isLeftRight ? -((counts[d.index] - 1) * (sizeFor1Char.h / 2) - 3) : tickTextPos.y === 0 ? '.71em' : 0)), isNumber(dy) && tickTextPos.y ? dy + tickTextPos.y : dy || '.71em';
                                                    });
                                                    var lineUpdate = tick.select('line'), textUpdate = tick.select('text');
                                                    if (tickEnter.select('line').attr(''.concat(axisPx, '2'), innerTickSize * sign), tickEnter.select('text').attr(axisPx, tickLength * sign), ctx.setTickLineTextPosition(lineUpdate, textUpdate), params.tickTitle) {
                                                        var title = textUpdate.select('title');
                                                        (title.empty() ? textUpdate.append('title') : title).text(function (index) {
                                                            return params.tickTitle[index];
                                                        });
                                                    }
                                                    if (scale1.bandwidth) {
                                                        var x = scale1, dx = x.bandwidth() / 2;
                                                        scale0 = function (d) {
                                                            return x(d) + dx;
                                                        }, scale1 = scale0;
                                                    } else
                                                        scale0.bandwidth ? scale0 = scale1 : tickTransform(tickExit, scale1);
                                                    tickTransform(tickEnter, scale0), tickTransform(helper.transitionise(tick).style('opacity', '1'), scale1);
                                                }
                                            }), this.g = $g;
                                        }
                                    },
                                    {
                                        key: 'getTickXY',
                                        value: function getTickXY() {
                                            var config = this.config, pos = {
                                                    x: 0,
                                                    y: 0
                                                };
                                            return this.params.isCategory && (pos.x = config.tickCentered ? 0 : config.tickOffset, pos.y = config.tickCentered ? config.tickOffset : 0), pos;
                                        }
                                    },
                                    {
                                        key: 'getTickSize',
                                        value: function getTickSize(d) {
                                            var scale = this.helper.scale, config = this.config, innerTickSize = config.innerTickSize, range = config.range, tickPosition = scale(d) + (config.tickCentered ? 0 : config.tickOffset);
                                            return range[0] < tickPosition && tickPosition < range[1] ? innerTickSize : 0;
                                        }
                                    },
                                    {
                                        key: 'setTickLineTextPosition',
                                        value: function setTickLineTextPosition(lineUpdate, textUpdate) {
                                            var tickPos = this.getTickXY(), _this$config = this.config, innerTickSize = _this$config.innerTickSize, orient = _this$config.orient, tickLength = _this$config.tickLength, tickOffset = _this$config.tickOffset, rotate = this.params.tickTextRotate, textAnchorForText = function (r) {
                                                    var value = [
                                                        'start',
                                                        'end'
                                                    ];
                                                    return orient === 'top' && value.reverse(), r ? r > 0 ? value[0] : value[1] : 'middle';
                                                }, textTransform = function (r) {
                                                    return r ? 'rotate('.concat(r, ')') : null;
                                                }, yForText = function (r) {
                                                    var r2 = r / (orient === 'bottom' ? 15 : 23);
                                                    return r ? 11.5 - 2.5 * r2 * (r > 0 ? 1 : -1) : tickLength;
                                                };
                                            orient === 'bottom' ? (lineUpdate.attr('x1', tickPos.x).attr('x2', tickPos.x).attr('y2', this.getTickSize.bind(this)), textUpdate.attr('x', 0).attr('y', yForText(rotate)).style('text-anchor', textAnchorForText(rotate)).attr('transform', textTransform(rotate))) : orient === 'top' ? (lineUpdate.attr('x2', 0).attr('y2', -innerTickSize), textUpdate.attr('x', 0).attr('y', -yForText(rotate) * 2).style('text-anchor', textAnchorForText(rotate)).attr('transform', textTransform(rotate))) : orient === 'left' ? (lineUpdate.attr('x2', -innerTickSize).attr('y1', tickPos.y).attr('y2', tickPos.y), textUpdate.attr('x', -tickLength).attr('y', tickOffset).style('text-anchor', 'end')) : orient === 'right' ? (lineUpdate.attr('x2', innerTickSize).attr('y2', 0), textUpdate.attr('x', tickLength).attr('y', 0).style('text-anchor', 'start')) : void 0;
                                        }
                                    },
                                    {
                                        key: 'splitTickText',
                                        value: function splitTickText(d, scale, ticks, isLeftRight, charWidth) {
                                            function split(splitted, text) {
                                                for (var subtext, spaceIndex, textWidth, i = 1; i < text.length; i++)
                                                    if (text.charAt(i) === ' ' && (spaceIndex = i), subtext = text.substr(0, i + 1), textWidth = charWidth * subtext.length, tickWidth < textWidth)
                                                        return split(splitted.concat(text.substr(0, spaceIndex || i)), text.slice(spaceIndex ? spaceIndex + 1 : i));
                                                return splitted.concat(text);
                                            }
                                            var params = this.params, tickText = this.helper.textFormatted(d), splitted = isString(tickText) && tickText.indexOf('\n') > -1 ? tickText.split('\n') : [];
                                            if (splitted.length)
                                                return splitted;
                                            if (isArray(tickText))
                                                return tickText;
                                            var tickWidth = params.tickWidth;
                                            return (!tickWidth || tickWidth <= 0) && (tickWidth = isLeftRight ? 95 : params.isCategory ? Math.ceil(scale(ticks[1]) - scale(ticks[0])) - 12 : 110), split(splitted, tickText + '');
                                        }
                                    },
                                    {
                                        key: 'scale',
                                        value: function scale(x) {
                                            return arguments.length ? (this.helper.scale = x, this) : this.helper.scale;
                                        }
                                    },
                                    {
                                        key: 'orient',
                                        value: function orient(x) {
                                            return arguments.length ? (this.config.orient = x in {
                                                top: 1,
                                                right: 1,
                                                bottom: 1,
                                                left: 1
                                            } ? x + '' : 'bottom', this) : this.config.orient;
                                        }
                                    },
                                    {
                                        key: 'tickFormat',
                                        value: function tickFormat(format) {
                                            return arguments.length ? (this.config.tickFormat = format, this) : this.config.tickFormat;
                                        }
                                    },
                                    {
                                        key: 'tickCentered',
                                        value: function tickCentered(isCentered) {
                                            var config = this.config;
                                            return arguments.length ? (config.tickCentered = isCentered, this) : config.tickCentered;
                                        }
                                    },
                                    {
                                        key: 'tickOffset',
                                        value: function tickOffset() {
                                            return this.config.tickOffset;
                                        }
                                    },
                                    {
                                        key: 'tickInterval',
                                        value: function tickInterval(size) {
                                            var interval;
                                            if (this.params.isCategory)
                                                interval = this.config.tickOffset * 2;
                                            else {
                                                var length = this.g.select('path.domain').node().getTotalLength() - this.config.outerTickSize * 2;
                                                interval = length / (size || this.g.selectAll('line').size());
                                            }
                                            return interval === Infinity ? 0 : interval;
                                        }
                                    },
                                    {
                                        key: 'ticks',
                                        value: function ticks() {
                                            for (var config = this.config, _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++)
                                                args[_key] = arguments[_key];
                                            return args.length ? (config.tickArguments = toArray(args), this) : config.tickArguments;
                                        }
                                    },
                                    {
                                        key: 'tickCulling',
                                        value: function tickCulling(culling) {
                                            var config = this.config;
                                            return arguments.length ? (config.tickCulling = culling, this) : config.tickCulling;
                                        }
                                    },
                                    {
                                        key: 'tickValues',
                                        value: function tickValues(x) {
                                            var _this = this, config = this.config;
                                            if (isFunction(x))
                                                config.tickValues = function () {
                                                    return x(_this.helper.scale.domain());
                                                };
                                            else {
                                                if (!arguments.length)
                                                    return config.tickValues;
                                                config.tickValues = x;
                                            }
                                            return this;
                                        }
                                    },
                                    {
                                        key: 'setTransition',
                                        value: function setTransition(t) {
                                            return this.config.transition = t, this;
                                        }
                                    }
                                ]), AxisRenderer;
                            }();
                            var isHorizontal = function ($$, forHorizontal) {
                                    var isRotated = $$.config.axis_rotated;
                                    return forHorizontal ? isRotated : !isRotated;
                                }, getAxisClassName = function (id) {
                                    return ''.concat(config_classes.axis, ' ').concat(config_classes['axis'.concat(capitalize(id))]);
                                };
                            var Axis_Axis = function () {
                                function Axis(owner) {
                                    _classCallCheck(this, Axis), this.owner = owner, this.setOrient();
                                }
                                return _createClass(Axis, [
                                    {
                                        key: 'init',
                                        value: function init() {
                                            var _this = this, $$ = this.owner, config = $$.config, isRotated = config.axis_rotated, main = $$.main, target = [
                                                    'x',
                                                    'y'
                                                ];
                                            config.axis_y2_show && target.push('y2'), $$.axesList = {}, target.forEach(function (v) {
                                                var classAxis = getAxisClassName(v), classLabel = config_classes['axis'.concat(v.toUpperCase(), 'Label')];
                                                $$.axes[v] = main.append('g').attr('class', classAxis).attr('clip-path', function () {
                                                    var res = null;
                                                    return v === 'x' ? res = $$.clipPathForXAxis : v === 'y' && config.axis_y_inner && (res = $$.clipPathForYAxis), res;
                                                }).attr('transform', $$.getTranslate(v)).style('visibility', config['axis_'.concat(v, '_show')] ? 'visible' : 'hidden'), $$.axes[v].append('text').attr('class', classLabel).attr('transform', [
                                                    'rotate(-90)',
                                                    null
                                                ][v === 'x' ? +!isRotated : +isRotated]).style('text-anchor', function () {
                                                    return _this.textAnchorForAxisLabel(v);
                                                }), _this.generateAxes(v);
                                            });
                                        }
                                    },
                                    {
                                        key: 'setOrient',
                                        value: function setOrient() {
                                            var $$ = this.owner, config = $$.config, isRotated = config.axis_rotated, yInner = config.axis_y_inner, y2Inner = config.axis_y2_inner;
                                            $$.xOrient = isRotated ? 'left' : 'bottom', $$.yOrient = isRotated ? yInner ? 'top' : 'bottom' : yInner ? 'right' : 'left', $$.y2Orient = isRotated ? y2Inner ? 'bottom' : 'top' : y2Inner ? 'left' : 'right', $$.subXOrient = isRotated ? 'left' : 'bottom';
                                        }
                                    },
                                    {
                                        key: 'generateAxes',
                                        value: function generateAxes(id) {
                                            var d3Axis, $$ = this.owner, config = $$.config, axes = [], axesConfig = config['axis_'.concat(id, '_axes')], isRotated = config.axis_rotated;
                                            id === 'x' ? d3Axis = isRotated ? external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_['axisLeft'] : external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_['axisBottom'] : id === 'y' ? d3Axis = isRotated ? external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_['axisBottom'] : external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_['axisLeft'] : id === 'y2' && (d3Axis = isRotated ? external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_['axisTop'] : external_commonjs_d3_axis_commonjs2_d3_axis_amd_d3_axis_root_d3_['axisRight']), axesConfig.length && axesConfig.forEach(function (v) {
                                                var tick = v.tick || {}, scale = $$[id].copy();
                                                v.domain && scale.domain(v.domain), axes.push(d3Axis(scale).ticks(tick.count).tickFormat(tick.format || function (x) {
                                                    return x;
                                                }).tickValues(tick.values).tickSizeOuter(tick.outer === !1 ? 0 : 6));
                                            }), $$.axesList[id] = axes;
                                        }
                                    },
                                    {
                                        key: 'updateAxes',
                                        value: function updateAxes() {
                                            var $$ = this.owner, config = $$.config;
                                            Object.keys($$.axesList).forEach(function (id) {
                                                var axesConfig = config['axis_'.concat(id, '_axes')], scale = $$[id].copy(), range = scale.range();
                                                $$.axesList[id].forEach(function (v, i) {
                                                    var axisRange = v.scale().range();
                                                    range.every(function (v, i) {
                                                        return v === axisRange[i];
                                                    }) || v.scale().range(range);
                                                    var className = ''.concat(getAxisClassName(id), '-').concat(i + 1), g = $$.main.select('.'.concat(className.replace(/\s/, '.')));
                                                    g.empty() ? g = $$.main.append('g').attr('class', className).style('visibility', config['axis_'.concat(id, '_show')] ? 'visible' : 'hidden').call(v) : (axesConfig[i].domain && scale.domain(axesConfig[i].domain), $$.xAxis.helper.transitionise(g).call(v.scale(scale))), g.attr('transform', $$.getTranslate(id, i + 1));
                                                });
                                            });
                                        }
                                    },
                                    {
                                        key: 'getAxis',
                                        value: function getAxis(name, scale, outerTick, noTransition, noTickTextRotate) {
                                            var $$ = this.owner, config = $$.config, isX = /^(x|subX)$/.test(name), type = isX ? 'x' : name, isCategory = isX && $$.isCategorized(), orient = $$[''.concat(name, 'Orient')], tickFormat = isX ? $$.xAxisTickFormat : config['axis_'.concat(name, '_tick_format')], tickTextRotate = noTickTextRotate ? 0 : $$.getAxisTickRotate(type), tickValues = isX ? $$.xAxisTickValues : $$[''.concat(name, 'AxisTickValues')], axisParams = mergeObj({
                                                    outerTick: outerTick,
                                                    noTransition: noTransition,
                                                    config: config,
                                                    name: name,
                                                    tickTextRotate: tickTextRotate
                                                }, isX && {
                                                    isCategory: isCategory,
                                                    tickMultiline: config.axis_x_tick_multiline,
                                                    tickWidth: config.axis_x_tick_width,
                                                    tickTitle: isCategory && config.axis_x_tick_tooltip && $$.api.categories(),
                                                    orgXScale: $$.x
                                                });
                                            isX || (axisParams.tickStepSize = config['axis_'.concat(type, '_tick_stepSize')]);
                                            var axis = new AxisRenderer_AxisRenderer(axisParams).scale(isX && $$.zoomScale || scale).orient(orient);
                                            isX && $$.isTimeSeries() && tickValues && !isFunction(tickValues) ? tickValues = tickValues.map(function (v) {
                                                return $$.parseDate(v);
                                            }) : !isX && $$.isTimeSeriesY() && (axis.ticks(config.axis_y_tick_time_value), tickValues = null), tickValues && axis.tickValues(tickValues), axis.tickFormat(tickFormat || !isX && $$.isStackNormalized() && function (x) {
                                                return ''.concat(x, '%');
                                            }), isCategory && (axis.tickCentered(config.axis_x_tick_centered), isEmpty(config.axis_x_tick_culling) && (config.axis_x_tick_culling = !1));
                                            var tickCount = config['axis_'.concat(type, '_tick_count')];
                                            return tickCount && axis.ticks(tickCount), axis;
                                        }
                                    },
                                    {
                                        key: 'updateXAxisTickValues',
                                        value: function updateXAxisTickValues(targets, axis) {
                                            var values, $$ = this.owner, config = $$.config, fit = config.axis_x_tick_fit, count = config.axis_x_tick_count;
                                            return (fit || count && fit) && (values = $$.mapTargetsToUniqueXs(targets), $$.isCategorized() && count > values.length && (count = values.length), values = this.generateTickValues(values, count, $$.isTimeSeries())), axis ? axis.tickValues(values) : $$.xAxis && ($$.xAxis.tickValues(values), $$.subXAxis.tickValues(values)), values;
                                        }
                                    },
                                    {
                                        key: 'getId',
                                        value: function getId(id) {
                                            var config = this.owner.config;
                                            return id in config.data_axes ? config.data_axes[id] : 'y';
                                        }
                                    },
                                    {
                                        key: 'getXAxisTickFormat',
                                        value: function getXAxisTickFormat() {
                                            var format, $$ = this.owner, config = $$.config, tickFormat = config.axis_x_tick_format, isTimeSeries = $$.isTimeSeries(), isCategorized = $$.isCategorized();
                                            return tickFormat ? isFunction(tickFormat) ? format = tickFormat : isTimeSeries && (format = function (date) {
                                                return date ? $$.axisTimeFormat(tickFormat)(date) : '';
                                            }) : format = isTimeSeries ? $$.defaultAxisTimeFormat : isCategorized ? $$.categoryName : function (v) {
                                                return v < 0 ? v.toFixed(0) : v;
                                            }, isFunction(format) ? function (v) {
                                                return format.apply($$, isCategorized ? [
                                                    v,
                                                    $$.categoryName(v)
                                                ] : [v]);
                                            } : format;
                                        }
                                    },
                                    {
                                        key: 'getTickValues',
                                        value: function getTickValues(id) {
                                            var $$ = this.owner, tickValues = $$.config['axis_'.concat(id, '_tick_values')], axis = $$[''.concat(id, 'Axis')];
                                            return (isFunction(tickValues) ? tickValues() : tickValues) || (axis ? axis.tickValues() : undefined);
                                        }
                                    },
                                    {
                                        key: 'getLabelOptionByAxisId',
                                        value: function getLabelOptionByAxisId(id) {
                                            return this.owner.config['axis_'.concat(id, '_label')];
                                        }
                                    },
                                    {
                                        key: 'getLabelText',
                                        value: function getLabelText(id) {
                                            var option = this.getLabelOptionByAxisId(id);
                                            return isString(option) ? option : option ? option.text : null;
                                        }
                                    },
                                    {
                                        key: 'setLabelText',
                                        value: function setLabelText(id, text) {
                                            var $$ = this.owner, config = $$.config, option = this.getLabelOptionByAxisId(id);
                                            isString(option) ? config['axis_'.concat(id, '_label')] = text : option && (option.text = text);
                                        }
                                    },
                                    {
                                        key: 'getLabelPosition',
                                        value: function getLabelPosition(id, defaultPosition) {
                                            var isRotated = this.owner.config.axis_rotated, option = this.getLabelOptionByAxisId(id), position = isObjectType(option) && option.position ? option.position : defaultPosition[+!isRotated], has = function (v) {
                                                    return !!~position.indexOf(v);
                                                };
                                            return {
                                                isInner: has('inner'),
                                                isOuter: has('outer'),
                                                isLeft: has('left'),
                                                isCenter: has('center'),
                                                isRight: has('right'),
                                                isTop: has('top'),
                                                isMiddle: has('middle'),
                                                isBottom: has('bottom')
                                            };
                                        }
                                    },
                                    {
                                        key: 'getAxisLabelPosition',
                                        value: function getAxisLabelPosition(id) {
                                            return this.getLabelPosition(id, id === 'x' ? [
                                                'inner-top',
                                                'inner-right'
                                            ] : [
                                                'inner-right',
                                                'inner-top'
                                            ]);
                                        }
                                    },
                                    {
                                        key: 'getLabelPositionById',
                                        value: function getLabelPositionById(id) {
                                            return this.getAxisLabelPosition(id);
                                        }
                                    },
                                    {
                                        key: 'xForAxisLabel',
                                        value: function xForAxisLabel(id) {
                                            var $$ = this.owner, position = this.getAxisLabelPosition(id), x = position.isMiddle ? -$$.height / 2 : 0;
                                            return isHorizontal($$, id !== 'x') ? x = position.isLeft ? 0 : position.isCenter ? $$.width / 2 : $$.width : position.isBottom && (x = -$$.height), x;
                                        }
                                    },
                                    {
                                        key: 'dxForAxisLabel',
                                        value: function dxForAxisLabel(id) {
                                            var $$ = this.owner, position = this.getAxisLabelPosition(id), dx = position.isBottom ? '0.5em' : '0';
                                            return isHorizontal($$, id !== 'x') ? dx = position.isLeft ? '0.5em' : position.isRight ? '-0.5em' : '0' : position.isTop && (dx = '-0.5em'), dx;
                                        }
                                    },
                                    {
                                        key: 'textAnchorForAxisLabel',
                                        value: function textAnchorForAxisLabel(id) {
                                            var $$ = this.owner, position = this.getAxisLabelPosition(id), anchor = position.isMiddle ? 'middle' : 'end';
                                            return isHorizontal($$, id !== 'x') ? anchor = position.isLeft ? 'start' : position.isCenter ? 'middle' : 'end' : position.isBottom && (anchor = 'start'), anchor;
                                        }
                                    },
                                    {
                                        key: 'dyForAxisLabel',
                                        value: function dyForAxisLabel(id) {
                                            var dy, $$ = this.owner, config = $$.config, isRotated = config.axis_rotated, isInner = this.getAxisLabelPosition(id).isInner, tickRotate = config['axis_'.concat(id, '_tick_rotate')] ? $$.getHorizontalAxisHeight(id) : 0, maxTickWidth = this.getMaxTickWidth(id);
                                            if (id === 'x') {
                                                var xHeight = config.axis_x_height;
                                                dy = isRotated ? isInner ? '1.2em' : -25 - maxTickWidth : isInner ? '-0.5em' : xHeight ? xHeight - 10 : tickRotate ? tickRotate - 10 : '3em';
                                            } else
                                                dy = {
                                                    y: [
                                                        '-0.5em',
                                                        10,
                                                        '3em',
                                                        '1.2em',
                                                        10
                                                    ],
                                                    y2: [
                                                        '1.2em',
                                                        -20,
                                                        '-2.2em',
                                                        '-0.5em',
                                                        15
                                                    ]
                                                }[id], dy = isRotated ? isInner ? dy[0] : tickRotate ? tickRotate * (id === 'y2' ? -1 : 1) - dy[1] : dy[2] : isInner ? dy[3] : (dy[4] + (config['axis_'.concat(id, '_inner')] ? 0 : maxTickWidth + dy[4])) * (id === 'y' ? -1 : 1);
                                            return dy;
                                        }
                                    },
                                    {
                                        key: 'getMaxTickWidth',
                                        value: function getMaxTickWidth(id, withoutRecompute) {
                                            var $$ = this.owner, config = $$.config, currentTickMax = $$.currentMaxTickWidths[id], maxWidth = 0;
                                            if (withoutRecompute || !config['axis_'.concat(id, '_show')] || $$.filterTargetsToShow().length === 0)
                                                return currentTickMax.size;
                                            if ($$.svg) {
                                                var isYAxis = /^y2?$/.test(id), targetsToShow = $$.filterTargetsToShow($$.data.targets), scale = $$[id].copy().domain($$['get'.concat(isYAxis ? 'Y' : 'X', 'Domain')](targetsToShow, id)), domain = scale.domain();
                                                if (domain[0] === domain[1] && domain.every(function (v) {
                                                        return v > 0;
                                                    }) || isArray(currentTickMax.domain) && currentTickMax.domain[0] === currentTickMax.domain[1])
                                                    return currentTickMax.size;
                                                currentTickMax.domain = domain;
                                                var axis = this.getAxis(id, scale, !1, !1, !0), tickCount = config['axis_'.concat(id, '_tick_count')], tickValues = config['axis_'.concat(id, '_tick_values')];
                                                !tickValues && tickCount && axis.tickValues(this.generateTickValues(domain, tickCount, isYAxis ? $$.isTimeSeriesY() : $$.isTimeSeries())), isYAxis || this.updateXAxisTickValues(targetsToShow, axis);
                                                var dummy = $$.selectChart.append('svg').style('visibility', 'hidden').style('position', 'fixed').style('top', '0px').style('left', '0px');
                                                axis.create(dummy), dummy.selectAll('text').each(function (d, i) {
                                                    var currentTextWidth = this.getBoundingClientRect().width;
                                                    maxWidth = Math.max(maxWidth, currentTextWidth), id === 'x' && ($$.currentMaxTickWidths.x.ticks[i] = currentTextWidth);
                                                }), dummy.remove();
                                            }
                                            return maxWidth > 0 && (currentTickMax.size = maxWidth), currentTickMax.size;
                                        }
                                    },
                                    {
                                        key: 'getXAxisTickTextY2Overflow',
                                        value: function getXAxisTickTextY2Overflow(defaultPadding) {
                                            var $$ = this.owner, config = $$.config, xAxisTickRotate = $$.getAxisTickRotate('x');
                                            if (($$.isCategorized() || $$.isTimeSeries()) && config.axis_x_tick_fit && !config.axis_x_tick_culling && !config.axis_x_tick_multiline && xAxisTickRotate > 0 && xAxisTickRotate < 90) {
                                                var widthWithoutCurrentPaddingLeft = $$.currentWidth - $$.getCurrentPaddingLeft(), maxOverflow = this.getXAxisTickMaxOverflow(xAxisTickRotate, widthWithoutCurrentPaddingLeft - defaultPadding), xAxisTickTextY2Overflow = Math.max(0, maxOverflow) + defaultPadding;
                                                return Math.min(xAxisTickTextY2Overflow, widthWithoutCurrentPaddingLeft / 2);
                                            }
                                            return 0;
                                        }
                                    },
                                    {
                                        key: 'getXAxisTickMaxOverflow',
                                        value: function getXAxisTickMaxOverflow(xAxisTickRotate, widthWithoutCurrentPaddingLeft) {
                                            for (var $$ = this.owner, config = $$.config, isTimeSeries = $$.isTimeSeries(), tickTextWidths = $$.currentMaxTickWidths.x.ticks, tickCount = tickTextWidths.length, _this$x$padding = this.x.padding, left = _this$x$padding.left, right = _this$x$padding.right, maxOverflow = 0, remaining = tickCount - (isTimeSeries && config.axis_x_tick_fit ? 0.5 : 0), i = 0; i < tickCount; i++) {
                                                var tickIndex = i + 1, rotatedTickTextWidth = Math.cos(Math.PI * xAxisTickRotate / 180) * tickTextWidths[i], ticksBeforeTickText = tickIndex - (isTimeSeries ? 1 : 0.5) + left;
                                                if (!(ticksBeforeTickText <= 0)) {
                                                    var tickLength = (widthWithoutCurrentPaddingLeft - rotatedTickTextWidth) / ticksBeforeTickText;
                                                    maxOverflow = Math.max(maxOverflow, rotatedTickTextWidth - tickLength / 2 - ((remaining - tickIndex) * tickLength + right * tickLength));
                                                }
                                            }
                                            var tickOffset = 0;
                                            if (!isTimeSeries) {
                                                var scale = Object(external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_['scaleLinear'])().domain([
                                                    left * -1,
                                                    $$.getXDomainMax($$.data.targets) + 1 + right
                                                ]).range([
                                                    0,
                                                    widthWithoutCurrentPaddingLeft - maxOverflow
                                                ]);
                                                tickOffset = Math.ceil((scale(1) - scale(0)) / 2);
                                            }
                                            return maxOverflow + tickOffset;
                                        }
                                    },
                                    {
                                        key: 'getXAxisPadding',
                                        value: function getXAxisPadding(tickCount) {
                                            var $$ = this.owner, padding = $$.config.axis_x_padding;
                                            if (isEmpty(padding) ? padding = {
                                                    left: 0,
                                                    right: 0
                                                } : (padding.left = padding.left || 0, padding.right = padding.right || 0), $$.isTimeSeries()) {
                                                var firstX = +$$.getXDomainMin($$.data.targets), lastX = +$$.getXDomainMax($$.data.targets), timeDiff = lastX - firstX, range = timeDiff + padding.left + padding.right, relativeTickWidth = timeDiff / tickCount / range, left = padding.left / range / relativeTickWidth || 0, _right = padding.right / range / relativeTickWidth || 0;
                                                padding = {
                                                    left: left,
                                                    right: _right
                                                };
                                            }
                                            return padding;
                                        }
                                    },
                                    {
                                        key: 'updateLabels',
                                        value: function updateLabels(withTransition) {
                                            var _this2 = this, $$ = this.owner, labels = {
                                                    x: $$.main.select('.'.concat(config_classes.axisX, ' .').concat(config_classes.axisXLabel)),
                                                    y: $$.main.select('.'.concat(config_classes.axisY, ' .').concat(config_classes.axisYLabel)),
                                                    y2: $$.main.select('.'.concat(config_classes.axisY2, ' .').concat(config_classes.axisY2Label))
                                                };
                                            Object.keys(labels).filter(function (id) {
                                                return !labels[id].empty();
                                            }).forEach(function (v) {
                                                var node = labels[v];
                                                (withTransition ? node.transition() : node).attr('x', function () {
                                                    return _this2.xForAxisLabel(v);
                                                }).attr('dx', function () {
                                                    return _this2.dxForAxisLabel(v);
                                                }).attr('dy', function () {
                                                    return _this2.dyForAxisLabel(v);
                                                }).text(function () {
                                                    return _this2.getLabelText(v);
                                                });
                                            });
                                        }
                                    },
                                    {
                                        key: 'getPadding',
                                        value: function getPadding(padding, key, defaultValue, domainLength) {
                                            var p = isNumber(padding) ? padding : padding[key];
                                            return isValue(p) ? this.convertPixelsToAxisPadding(p, domainLength) : defaultValue;
                                        }
                                    },
                                    {
                                        key: 'convertPixelsToAxisPadding',
                                        value: function convertPixelsToAxisPadding(pixels, domainLength) {
                                            var $$ = this.owner, length = $$.config.axis_rotated ? $$.width : $$.height;
                                            return domainLength * (pixels / length);
                                        }
                                    },
                                    {
                                        key: 'generateTickValues',
                                        value: function generateTickValues(values, tickCount, forTimeSeries) {
                                            var tickValues = values;
                                            if (tickCount) {
                                                var targetCount = isFunction(tickCount) ? tickCount() : tickCount;
                                                if (targetCount === 1)
                                                    tickValues = [values[0]];
                                                else if (targetCount === 2)
                                                    tickValues = [
                                                        values[0],
                                                        values[values.length - 1]
                                                    ];
                                                else if (targetCount > 2) {
                                                    var tickValue, isCategorized = this.owner.isCategorized(), count = targetCount - 2, start = values[0], end = values[values.length - 1];
                                                    tickValues = [start];
                                                    for (var i = 0; i < count; i++)
                                                        tickValue = +start + (end - start) / (count + 1) * (i + 1), tickValues.push(forTimeSeries ? new Date(tickValue) : isCategorized ? Math.round(tickValue) : tickValue);
                                                    tickValues.push(end);
                                                }
                                            }
                                            return forTimeSeries || (tickValues = tickValues.sort(function (a, b) {
                                                return a - b;
                                            })), tickValues;
                                        }
                                    },
                                    {
                                        key: 'generateTransitions',
                                        value: function generateTransitions(duration) {
                                            var $$ = this.owner, axes = $$.axes, _map = [
                                                    'x',
                                                    'y',
                                                    'y2',
                                                    'subx'
                                                ].map(function (v) {
                                                    var axis = axes[v];
                                                    return axis && duration && (axis = axis.transition().duration(duration)), axis;
                                                }), _map2 = _slicedToArray(_map, 4), axisX = _map2[0], axisY = _map2[1], axisY2 = _map2[2], axisSubX = _map2[3];
                                            return {
                                                axisX: axisX,
                                                axisY: axisY,
                                                axisY2: axisY2,
                                                axisSubX: axisSubX
                                            };
                                        }
                                    },
                                    {
                                        key: 'redraw',
                                        value: function redraw(transitions, isHidden, isInit) {
                                            var $$ = this.owner, opacity = isHidden ? '0' : '1';
                                            [
                                                'x',
                                                'y',
                                                'y2',
                                                'subX'
                                            ].forEach(function (id) {
                                                var axis = $$[''.concat(id, 'Axis')];
                                                axis && (!isInit && (axis.config.withoutTransition = !$$.config.transition_duration), $$.axes[id.toLowerCase()].style('opacity', opacity), axis.create(transitions['axis'.concat(capitalize(id))]));
                                            }), this.updateAxes();
                                        }
                                    },
                                    {
                                        key: 'redrawAxis',
                                        value: function redrawAxis(targetsToShow, wth, transitions, flow, isInit) {
                                            var xDomainForZoom, _this3 = this, $$ = this.owner, config = $$.config, hasZoom = !!$$.zoomScale;
                                            !hasZoom && $$.isCategorized() && targetsToShow.length === 0 && $$.x.domain([
                                                0,
                                                $$.axes.x.selectAll('.tick').size()
                                            ]), $$.x && targetsToShow.length ? (!hasZoom && $$.updateXDomain(targetsToShow, wth.UpdateXDomain, wth.UpdateOrgXDomain, wth.TrimXDomain), !config.axis_x_tick_values && this.updateXAxisTickValues(targetsToShow)) : $$.xAxis && ($$.xAxis.tickValues([]), $$.subXAxis.tickValues([])), config.zoom_rescale && !flow && (xDomainForZoom = $$.x.orgDomain()), [
                                                'y',
                                                'y2'
                                            ].forEach(function (key) {
                                                var axis = $$[key];
                                                if (axis) {
                                                    var tickValues = config['axis_'.concat(key, '_tick_values')], tickCount = config['axis_'.concat(key, '_tick_count')];
                                                    if (axis.domain($$.getYDomain(targetsToShow, key, xDomainForZoom)), !tickValues && tickCount) {
                                                        var domain = axis.domain();
                                                        $$[''.concat(key, 'Axis')].tickValues(_this3.generateTickValues(domain, domain.every(function (v) {
                                                            return v === 0;
                                                        }) ? 1 : tickCount, $$.isTimeSeriesY()));
                                                    }
                                                }
                                            }), this.redraw(transitions, $$.hasArcType(), isInit), this.updateLabels(wth.Transition), (wth.UpdateXDomain || wth.UpdateXAxis || wth.Y) && targetsToShow.length && this.setCulling(), wth.Y && ($$.subY && $$.subY.domain($$.getYDomain(targetsToShow, 'y')), $$.subY2 && $$.subY2.domain($$.getYDomain(targetsToShow, 'y2')));
                                        }
                                    },
                                    {
                                        key: 'setCulling',
                                        value: function setCulling() {
                                            var $$ = this.owner, config = $$.config;
                                            [
                                                'subx',
                                                'x',
                                                'y',
                                                'y2'
                                            ].forEach(function (type) {
                                                var axis = $$.axes[type], id = type === 'subx' ? 'x' : type, toCull = config['axis_'.concat(id, '_tick_culling')];
                                                if (axis && toCull) {
                                                    var intervalForCulling, tickText = axis.selectAll('.tick text'), tickValues = sortValue(tickText.data()), tickSize = tickValues.length, cullingMax = config['axis_'.concat(id, '_tick_culling_max')];
                                                    if (tickSize) {
                                                        for (var i = 1; i < tickSize; i++)
                                                            if (tickSize / i < cullingMax) {
                                                                intervalForCulling = i;
                                                                break;
                                                            }
                                                        tickText.each(function (d) {
                                                            this.style.display = tickValues.indexOf(d) % intervalForCulling ? 'none' : 'block';
                                                        });
                                                    } else
                                                        tickText.style('display', 'block');
                                                    if (type === 'x') {
                                                        var clipPath = $$.clipXAxisTickMaxWidth ? $$.clipPathForXAxisTickTexts : null;
                                                        $$.svg.selectAll('.'.concat(config_classes.axisX, ' .tick text')).attr('clip-path', clipPath);
                                                    }
                                                }
                                            });
                                        }
                                    }
                                ]), Axis;
                            }();
                            var ChartInternal_ChartInternal = function () {
                                function ChartInternal(api) {
                                    _classCallCheck(this, ChartInternal);
                                    var $$ = this;
                                    $$.api = api, $$.config = $$.getOptions(), $$.data = {}, $$.cache = {}, $$.axes = {}, $$.rendered = !1;
                                }
                                return _createClass(ChartInternal, [
                                    {
                                        key: 'beforeInit',
                                        value: function beforeInit() {
                                            var $$ = this;
                                            $$.callPluginHook('$beforeInit'), callFn($$.config.onbeforeinit, $$, $$.api);
                                        }
                                    },
                                    {
                                        key: 'afterInit',
                                        value: function afterInit() {
                                            var $$ = this;
                                            $$.callPluginHook('$afterInit'), callFn($$.config.onafterinit, $$, $$.api);
                                        }
                                    },
                                    {
                                        key: 'init',
                                        value: function init() {
                                            var $$ = this, config = $$.config;
                                            $$.initParams();
                                            var bindto = {
                                                element: config.bindto,
                                                classname: 'bb'
                                            };
                                            isObject(config.bindto) && (bindto.element = config.bindto.element || '#chart', bindto.classname = config.bindto.classname || bindto.classname), $$.selectChart = isFunction(bindto.element.node) ? config.bindto.element : Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(bindto.element || []), $$.selectChart.empty() && ($$.selectChart = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(browser_doc.body.appendChild(browser_doc.createElement('div')))), $$.selectChart.html('').classed(bindto.classname, !0), $$.initToRender();
                                        }
                                    },
                                    {
                                        key: 'initToRender',
                                        value: function initToRender(forced) {
                                            var $$ = this, config = $$.config, target = $$.selectChart, isHidden = function () {
                                                    return target.style('display') === 'none' || target.style('visibility') === 'hidden';
                                                }, isLazy = config.render.lazy || isHidden(), MutationObserver = win.MutationObserver;
                                            if (isLazy && MutationObserver && config.render.observe !== !1 && !forced && new MutationObserver(function (mutation, observer) {
                                                    isHidden() || (observer.disconnect(), !$$.rendered && $$.initToRender(!0));
                                                }).observe(target.node(), {
                                                    attributes: !0,
                                                    attributeFilter: [
                                                        'class',
                                                        'style'
                                                    ]
                                                }), !isLazy || forced) {
                                                var convertedData = $$.convertData(config, $$.initWithData);
                                                convertedData && $$.initWithData(convertedData), $$.afterInit();
                                            }
                                        }
                                    },
                                    {
                                        key: 'initParams',
                                        value: function initParams() {
                                            var _this = this, $$ = this, config = $$.config, isRotated = config.axis_rotated;
                                            $$.datetimeId = 'bb-'.concat(+new Date()), $$.initClip(), $$.dragStart = null, $$.dragging = !1, $$.flowing = !1, $$.cancelClick = !1, $$.mouseover = !1, $$.transiting = !1, $$.color = $$.generateColor(), $$.levelColor = $$.generateLevelColor(), $$.point = $$.generatePoint(), $$.extraLineClasses = $$.generateExtraLineClass(), $$.dataTimeFormat = config.data_xLocaltime ? external_commonjs_d3_time_format_commonjs2_d3_time_format_amd_d3_time_format_root_d3_['timeParse'] : external_commonjs_d3_time_format_commonjs2_d3_time_format_amd_d3_time_format_root_d3_['utcParse'], $$.axisTimeFormat = config.axis_x_localtime ? external_commonjs_d3_time_format_commonjs2_d3_time_format_amd_d3_time_format_root_d3_['timeFormat'] : external_commonjs_d3_time_format_commonjs2_d3_time_format_amd_d3_time_format_root_d3_['utcFormat'];
                                            var isDragZoom = $$.config.zoom_enabled && $$.config.zoom_enabled.type === 'drag';
                                            $$.defaultAxisTimeFormat = function (d) {
                                                var isZoomed = isDragZoom ? _this.zoomScale : _this.zoomScale && $$.x.orgDomain().toString() !== _this.zoomScale.domain().toString(), specifier = d.getMilliseconds() && '.%L' || d.getSeconds() && '.:%S' || d.getMinutes() && '%I:%M' || d.getHours() && '%I %p' || d.getDate() !== 1 && '%b %d' || isZoomed && d.getDate() === 1 && '%b\'%y' || d.getMonth() && '%-m/%-d' || '%Y';
                                                return $$.axisTimeFormat(specifier)(d);
                                            }, $$.hiddenTargetIds = [], $$.hiddenLegendIds = [], $$.focusedTargetIds = [], $$.defocusedTargetIds = [], $$.isLegendRight = config.legend_position === 'right', $$.isLegendInset = config.legend_position === 'inset', $$.isLegendTop = config.legend_inset_anchor === 'top-left' || config.legend_inset_anchor === 'top-right', $$.isLegendLeft = config.legend_inset_anchor === 'top-left' || config.legend_inset_anchor === 'bottom-left', $$.legendStep = 0, $$.legendItemWidth = 0, $$.legendItemHeight = 0, $$.currentMaxTickWidths = {
                                                x: {
                                                    size: 0,
                                                    ticks: [],
                                                    domain: ''
                                                },
                                                y: {
                                                    size: 0,
                                                    domain: ''
                                                },
                                                y2: {
                                                    size: 0,
                                                    domain: ''
                                                }
                                            }, $$.rotated_padding_left = 30, $$.rotated_padding_right = isRotated && !config.axis_x_show ? 0 : 30, $$.rotated_padding_top = 5, $$.withoutFadeIn = {}, $$.inputType = $$.convertInputType(), $$.axes.subx = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['selectAll'])([]);
                                        }
                                    },
                                    {
                                        key: 'initWithData',
                                        value: function initWithData(data) {
                                            var $$ = this, config = $$.config;
                                            if ($$.axis = new Axis_Axis($$), config.zoom_enabled && $$.initZoom(), $$.data.xs = {}, $$.data.targets = $$.convertDataToTargets(data), config.data_filter && ($$.data.targets = $$.data.targets.filter(config.data_filter)), config.data_hide && $$.addHiddenTargetIds(config.data_hide === !0 ? $$.mapToIds($$.data.targets) : config.data_hide), config.legend_hide && $$.addHiddenLegendIds(config.legend_hide === !0 ? $$.mapToIds($$.data.targets) : config.legend_hide), $$.updateSizes(), $$.updateScales(!0), $$.x && ($$.x.domain(sortValue($$.getXDomain($$.data.targets))), $$.subX.domain($$.x.domain()), $$.orgXDomain = $$.x.domain()), $$.y && ($$.y.domain($$.getYDomain($$.data.targets, 'y')), $$.subY.domain($$.y.domain())), $$.y2 && ($$.y2.domain($$.getYDomain($$.data.targets, 'y2')), $$.subY2 && $$.subY2.domain($$.y2.domain())), $$.svg = $$.selectChart.append('svg').style('overflow', 'hidden').style('display', 'block'), config.interaction_enabled && $$.inputType) {
                                                var isTouch = $$.inputType === 'touch';
                                                $$.svg.on(isTouch ? 'touchstart' : 'mouseenter', function () {
                                                    return callFn(config.onover, $$, $$.api);
                                                }).on(isTouch ? 'touchend' : 'mouseleave', function () {
                                                    return callFn(config.onout, $$, $$.api);
                                                });
                                            }
                                            config.svg_classname && $$.svg.attr('class', config.svg_classname), $$.defs = $$.svg.append('defs'), $$.clipChart = $$.appendClip($$.defs, $$.clipId), $$.clipXAxis = $$.appendClip($$.defs, $$.clipIdForXAxis), $$.clipYAxis = $$.appendClip($$.defs, $$.clipIdForYAxis), $$.clipGrid = $$.appendClip($$.defs, $$.clipIdForGrid), isFunction(config.color_tiles) && $$.patterns && $$.patterns.forEach(function (p) {
                                                return $$.defs.append(function () {
                                                    return p.node;
                                                });
                                            }), $$.updateSvgSize(), $$.bindResize();
                                            var main = $$.svg.append('g').attr('transform', $$.getTranslate('main'));
                                            if ($$.main = main, config.subchart_show && $$.initSubchart(), $$.initTooltip && $$.initTooltip(), $$.initLegend && $$.initLegend(), $$.initTitle && $$.initTitle(), config.data_empty_label_text && main.append('text').attr('class', ''.concat(config_classes.text, ' ').concat(config_classes.empty)).attr('text-anchor', 'middle').attr('dominant-baseline', 'middle'), $$.initRegion(), config.clipPath || $$.axis.init(), main.append('g').attr('class', config_classes.chart).attr('clip-path', $$.clipPath), $$.callPluginHook('$init'), $$.initEventRect(), $$.initChartElements(), $$.initGrid(), main.insert('rect', config.zoom_privileged ? null : 'g.'.concat(config_classes.regions)).attr('class', config_classes.zoomRect).attr('width', $$.width).attr('height', $$.height).style('opacity', '0').on('dblclick.zoom', null), config.clipPath && $$.axis.init(), $$.updateTargets($$.data.targets), $$.updateDimension(), callFn(config.oninit, $$, $$.api), $$.setBackground(), $$.redraw({
                                                    withTransition: !1,
                                                    withTransform: !0,
                                                    withUpdateXDomain: !0,
                                                    withUpdateOrgXDomain: !0,
                                                    withTransitionForAxis: !1,
                                                    initializing: !0
                                                }), config.data_onmin || config.data_onmax) {
                                                var minMax = $$.getMinMaxData();
                                                callFn(config.data_onmin, $$, minMax.min), callFn(config.data_onmax, $$, minMax.max);
                                            }
                                            $$.api.element = $$.selectChart.node(), $$.rendered = !0;
                                        }
                                    },
                                    {
                                        key: 'initChartElements',
                                        value: function initChartElements() {
                                            var $$ = this;
                                            [
                                                'Bar',
                                                'Radar',
                                                'Line',
                                                'Bubble',
                                                'Arc',
                                                'Gauge',
                                                'Pie'
                                            ].forEach(function (v) {
                                                $$['init'.concat(v)]();
                                            }), notEmpty($$.config.data_labels) && $$.initText();
                                        }
                                    },
                                    {
                                        key: 'setChartElements',
                                        value: function setChartElements() {
                                            var $$ = this;
                                            $$.api.$ = {
                                                chart: $$.selectChart,
                                                svg: $$.svg,
                                                defs: $$.defs,
                                                main: $$.main,
                                                tooltip: $$.tooltip,
                                                legend: $$.legend,
                                                title: $$.title,
                                                grid: $$.grid,
                                                arc: $$.arcs,
                                                bar: { bars: $$.mainBar },
                                                line: {
                                                    lines: $$.mainLine,
                                                    areas: $$.mainArea,
                                                    circles: $$.mainCircle
                                                },
                                                text: { texts: $$.mainText }
                                            };
                                        }
                                    },
                                    {
                                        key: 'setBackground',
                                        value: function setBackground() {
                                            var $$ = this, bg = $$.config.background;
                                            if (notEmpty(bg)) {
                                                var element = $$.svg.select('.'.concat(config_classes[$$.hasArcType() ? 'chart' : 'regions'])).insert(bg.imgUrl ? 'image' : 'rect', ':first-child');
                                                bg.imgUrl ? element.attr('href', bg.imgUrl) : bg.color && element.style('fill', bg.color), element.attr('class', bg['class'] || null).attr('width', '100%').attr('height', '100%');
                                            }
                                        }
                                    },
                                    {
                                        key: 'smoothLines',
                                        value: function smoothLines(el, type) {
                                            type === 'grid' && el.each(function () {
                                                var g = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this);
                                                [
                                                    'x1',
                                                    'x2',
                                                    'y1',
                                                    'y2'
                                                ].forEach(function (v) {
                                                    return g.attr(v, Math.ceil(g.attr(v)));
                                                });
                                            });
                                        }
                                    },
                                    {
                                        key: 'updateSizes',
                                        value: function updateSizes(isInit) {
                                            var $$ = this;
                                            isInit || $$.setContainerSize();
                                            var config = $$.config, isRotated = config.axis_rotated, hasArc = $$.hasArcType(), legend = {
                                                    width: $$.legend ? $$.getLegendWidth() : 0,
                                                    height: $$.legend ? $$.getLegendHeight() : 0
                                                }, legendHeightForBottom = $$.isLegendRight || $$.isLegendInset ? 0 : legend.height, xAxisHeight = isRotated || hasArc ? 0 : $$.getHorizontalAxisHeight('x'), subchartXAxisHeight = config.subchart_axis_x_show && config.subchart_axis_x_tick_text_show ? xAxisHeight : 30, subchartHeight = config.subchart_show && !hasArc ? config.subchart_size_height + subchartXAxisHeight : 0;
                                            $$.margin = isRotated ? {
                                                top: $$.getHorizontalAxisHeight('y2') + $$.getCurrentPaddingTop(),
                                                right: hasArc ? 0 : $$.getCurrentPaddingRight(),
                                                bottom: $$.getHorizontalAxisHeight('y') + legendHeightForBottom + $$.getCurrentPaddingBottom(),
                                                left: subchartHeight + (hasArc ? 0 : $$.getCurrentPaddingLeft())
                                            } : {
                                                top: 4 + $$.getCurrentPaddingTop(),
                                                right: hasArc ? 0 : $$.getCurrentPaddingRight(),
                                                bottom: xAxisHeight + subchartHeight + legendHeightForBottom + $$.getCurrentPaddingBottom(),
                                                left: hasArc ? 0 : $$.getCurrentPaddingLeft()
                                            }, $$.margin2 = isRotated ? {
                                                top: $$.margin.top,
                                                right: NaN,
                                                bottom: 20 + legendHeightForBottom,
                                                left: $$.rotated_padding_left
                                            } : {
                                                top: $$.currentHeight - subchartHeight - legendHeightForBottom,
                                                right: NaN,
                                                bottom: subchartXAxisHeight + legendHeightForBottom,
                                                left: $$.margin.left
                                            }, $$.margin3 = {
                                                top: 0,
                                                right: NaN,
                                                bottom: 0,
                                                left: 0
                                            }, $$.updateSizeForLegend && $$.updateSizeForLegend(legend), $$.width = $$.currentWidth - $$.margin.left - $$.margin.right, $$.height = $$.currentHeight - $$.margin.top - $$.margin.bottom, $$.width < 0 && ($$.width = 0), $$.height < 0 && ($$.height = 0), $$.width2 = isRotated ? $$.margin.left - $$.rotated_padding_left - $$.rotated_padding_right : $$.width, $$.height2 = isRotated ? $$.height : $$.currentHeight - $$.margin2.top - $$.margin2.bottom, $$.width2 < 0 && ($$.width2 = 0), $$.height2 < 0 && ($$.height2 = 0), $$.arcWidth = $$.width - ($$.isLegendRight ? legend.width + 10 : 0), $$.arcHeight = $$.height - ($$.isLegendRight ? 0 : 10), $$.hasType('gauge') && !config.gauge_fullCircle && ($$.arcHeight += $$.height - $$.getGaugeLabelHeight()), $$.updateRadius && $$.updateRadius(), $$.isLegendRight && hasArc && ($$.margin3.left = $$.arcWidth / 2 + $$.radiusExpanded * 1.1), !hasArc && config.axis_x_show && config.axis_x_tick_autorotate && $$.updateXAxisTickClip();
                                        }
                                    },
                                    {
                                        key: 'updateTargets',
                                        value: function updateTargets(targets) {
                                            var $$ = this;
                                            $$.updateTargetsForText(targets), $$.updateTargetsForBar(targets), $$.updateTargetsForLine(targets), $$.hasArcType(targets) && ($$.hasType('radar') ? $$.updateTargetsForRadar(targets) : $$.updateTargetsForArc(targets)), $$.updateTargetsForSubchart && $$.updateTargetsForSubchart(targets), $$.showTargets();
                                        }
                                    },
                                    {
                                        key: 'showTargets',
                                        value: function showTargets() {
                                            var $$ = this;
                                            $$.svg.selectAll('.'.concat(config_classes.target)).filter(function (d) {
                                                return $$.isTargetToShow(d.id);
                                            }).transition().duration($$.config.transition_duration).style('opacity', '1');
                                        }
                                    },
                                    {
                                        key: 'getWithOption',
                                        value: function getWithOption(options) {
                                            var withOptions = {
                                                Y: !0,
                                                Subchart: !0,
                                                Transition: !0,
                                                EventRect: !0,
                                                Dimension: !0,
                                                TrimXDomain: !0,
                                                Transform: !1,
                                                UpdateXDomain: !1,
                                                UpdateOrgXDomain: !1,
                                                Legend: !1,
                                                UpdateXAxis: 'UpdateXDomain',
                                                TransitionForExit: 'Transition',
                                                TransitionForAxis: 'Transition'
                                            };
                                            return Object.keys(withOptions).forEach(function (key) {
                                                var defVal = withOptions[key];
                                                isString(defVal) && (defVal = withOptions[defVal]), withOptions[key] = getOption(options, 'with'.concat(key), defVal);
                                            }), withOptions;
                                        }
                                    },
                                    {
                                        key: 'redraw',
                                        value: function redraw() {
                                            var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, transitionsValue = arguments.length > 1 ? arguments[1] : undefined, $$ = this, main = $$.main, config = $$.config, targetsToShow = $$.filterTargetsToShow($$.data.targets), initializing = options.initializing, flow = options.flow, wth = $$.getWithOption(options), duration = wth.Transition ? config.transition_duration : 0, durationForExit = wth.TransitionForExit ? duration : 0, durationForAxis = wth.TransitionForAxis ? duration : 0, transitions = transitionsValue || $$.axis.generateTransitions(durationForAxis);
                                            $$.updateSizes(initializing), wth.Legend && config.legend_show ? $$.updateLegend($$.mapToIds($$.data.targets), options, transitions) : wth.Dimension && $$.updateDimension(!0), $$.axis.redrawAxis(targetsToShow, wth, transitions, flow, initializing), $$.updateCircleY(), config.data_empty_label_text && main.select('text.'.concat(config_classes.text, '.').concat(config_classes.empty)).attr('x', $$.width / 2).attr('y', $$.height / 2).text(config.data_empty_label_text).style('display', targetsToShow.length ? 'none' : null), $$.updateGrid(duration), $$.updateRegion(duration), $$.updateBar(durationForExit), $$.updateLine(durationForExit), $$.updateArea(durationForExit), $$.updateCircle(), $$.hasDataLabel() && $$.updateText(durationForExit), $$.redrawTitle && $$.redrawTitle(), $$.arcs && $$.redrawArc(duration, durationForExit, wth.Transform), $$.radars && $$.redrawRadar(durationForExit), $$.mainText && main.selectAll('.'.concat(config_classes.selectedCircles)).filter($$.isBarType.bind($$)).selectAll('circle').remove(), config.interaction_enabled && !flow && wth.EventRect && $$.bindZoomEvent(), initializing && $$.setChartElements(), $$.generateRedrawList(targetsToShow, flow, duration, wth.Subchart), $$.callPluginHook('$redraw', options, duration);
                                        }
                                    },
                                    {
                                        key: 'generateRedrawList',
                                        value: function generateRedrawList(targets, flow, duration, withSubchart) {
                                            var $$ = this, config = $$.config, shape = $$.getDrawShape();
                                            config.subchart_show && $$.redrawSubchart(withSubchart, duration, shape);
                                            var flowFn = flow && $$.generateFlow({
                                                    targets: targets,
                                                    flow: flow,
                                                    duration: flow.duration,
                                                    shape: shape,
                                                    xv: $$.xv.bind($$)
                                                }), isTransition = (duration || flowFn) && $$.isTabVisible(), redrawList = $$.getRedrawList(shape, flow, flowFn, isTransition), afterRedraw = flow || config.onrendered ? function () {
                                                    flowFn && flowFn(), callFn(config.onrendered, $$, $$.api);
                                                } : null;
                                            if (afterRedraw)
                                                if (isTransition && redrawList.length) {
                                                    var waitForDraw = $$.generateWait();
                                                    Object(external_commonjs_d3_transition_commonjs2_d3_transition_amd_d3_transition_root_d3_['transition'])().duration(duration).each(function () {
                                                        redrawList.reduce(function (acc, t1) {
                                                            return acc.concat(t1);
                                                        }, []).forEach(function (t) {
                                                            return waitForDraw.add(t);
                                                        });
                                                    }).call(waitForDraw, afterRedraw);
                                                } else
                                                    $$.transiting || afterRedraw();
                                            $$.mapToIds($$.data.targets).forEach(function (id) {
                                                $$.withoutFadeIn[id] = !0;
                                            });
                                        }
                                    },
                                    {
                                        key: 'getDrawShape',
                                        value: function getDrawShape() {
                                            var $$ = this, isRotated = $$.config.axis_rotated, hasRadar = $$.hasType('radar'), shape = {
                                                    type: {},
                                                    indices: {}
                                                };
                                            if ($$.hasTypeOf('Line') || $$.hasType('bubble') || $$.hasType('scatter')) {
                                                var indices = $$.getShapeIndices($$.isLineType);
                                                if (shape.indices.line = indices, shape.type.line = $$.generateDrawLine ? $$.generateDrawLine(indices, !1) : undefined, $$.hasTypeOf('Area')) {
                                                    var _indices = $$.getShapeIndices($$.isAreaType);
                                                    shape.indices.area = _indices, shape.type.area = $$.generateDrawArea ? $$.generateDrawArea(_indices, !1) : undefined;
                                                }
                                            }
                                            if ($$.hasType('bar')) {
                                                var _indices2 = $$.getShapeIndices($$.isBarType);
                                                shape.indices.bar = _indices2, shape.type.bar = $$.generateDrawBar ? $$.generateDrawBar(_indices2) : undefined;
                                            }
                                            return shape.pos = {
                                                xForText: $$.generateXYForText(shape.indices, !0),
                                                yForText: $$.generateXYForText(shape.indices, !1),
                                                cx: (hasRadar ? $$.radarCircleX : isRotated ? $$.circleY : $$.circleX).bind($$),
                                                cy: (hasRadar ? $$.radarCircleY : isRotated ? $$.circleX : $$.circleY).bind($$)
                                            }, shape;
                                        }
                                    },
                                    {
                                        key: 'getRedrawList',
                                        value: function getRedrawList(shape, flow, flowFn, isTransition) {
                                            var $$ = this, config = $$.config, hasArcType = $$.hasArcType(), _shape$pos = shape.pos, cx = _shape$pos.cx, cy = _shape$pos.cy, xForText = _shape$pos.xForText, yForText = _shape$pos.yForText, list = [];
                                            if (!hasArcType) {
                                                var _shape$type = shape.type, area = _shape$type.area, bar = _shape$type.bar, line = _shape$type.line;
                                                (config.grid_x_lines.length || config.grid_y_lines.length) && list.push($$.redrawGrid(isTransition)), config.regions.length && list.push($$.redrawRegion(isTransition)), $$.hasTypeOf('Line') && (list.push($$.redrawLine(line, isTransition)), $$.hasTypeOf('Area') && list.push($$.redrawArea(area, isTransition))), $$.hasType('bar') && list.push($$.redrawBar(bar, isTransition)), flow || list.push($$.updateGridFocus());
                                            }
                                            return (!hasArcType || $$.hasType('radar')) && (notEmpty(config.data_labels) && list.push($$.redrawText(xForText, yForText, flow, isTransition)), list.push($$.redrawCircle(cx, cy, isTransition, flowFn))), list;
                                        }
                                    },
                                    {
                                        key: 'updateAndRedraw',
                                        value: function updateAndRedraw() {
                                            var transitions, options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, $$ = this, config = $$.config;
                                            options.withTransition = getOption(options, 'withTransition', !0), options.withTransform = getOption(options, 'withTransform', !1), options.withLegend = getOption(options, 'withLegend', !1), options.withUpdateXDomain = !0, options.withUpdateOrgXDomain = !0, options.withTransitionForExit = !1, options.withTransitionForTransform = getOption(options, 'withTransitionForTransform', options.withTransition), options.withLegend && config.legend_show || (transitions = $$.axis.generateTransitions(options.withTransitionForAxis ? config.transition_duration : 0), $$.updateScales(), $$.updateSvgSize(), $$.transformAll(options.withTransitionForTransform, transitions)), $$.redraw(options, transitions);
                                        }
                                    },
                                    {
                                        key: 'redrawWithoutRescale',
                                        value: function redrawWithoutRescale() {
                                            this.redraw({
                                                withY: !1,
                                                withSubchart: !1,
                                                withEventRect: !1,
                                                withTransitionForAxis: !1
                                            });
                                        }
                                    },
                                    {
                                        key: 'isTimeSeries',
                                        value: function isTimeSeries() {
                                            return this.config.axis_x_type === 'timeseries';
                                        }
                                    },
                                    {
                                        key: 'isCategorized',
                                        value: function isCategorized() {
                                            return this.config.axis_x_type.indexOf('category') >= 0 || this.hasType('radar');
                                        }
                                    },
                                    {
                                        key: 'isCustomX',
                                        value: function isCustomX() {
                                            var $$ = this, config = $$.config;
                                            return !$$.isTimeSeries() && (config.data_x || notEmpty(config.data_xs));
                                        }
                                    },
                                    {
                                        key: 'isTimeSeriesY',
                                        value: function isTimeSeriesY() {
                                            return this.config.axis_y_type === 'timeseries';
                                        }
                                    },
                                    {
                                        key: 'getTranslate',
                                        value: function getTranslate(target) {
                                            var x, y, index = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0, $$ = this, config = $$.config, isRotated = config.axis_rotated, hasGauge = $$.hasType('gauge'), padding = 0;
                                            if (index && /^(x|y2?)$/.test(target) && (padding = $$.getAxisSize(target) * index), target === 'main')
                                                x = asHalfPixel($$.margin.left), y = asHalfPixel($$.margin.top);
                                            else if (target === 'context')
                                                x = asHalfPixel($$.margin2.left), y = asHalfPixel($$.margin2.top);
                                            else if (target === 'legend')
                                                x = $$.margin3.left, y = $$.margin3.top + (hasGauge ? 10 : 0);
                                            else if (target === 'x')
                                                x = isRotated ? -padding : 0, y = isRotated ? 0 : $$.height + padding;
                                            else if (target === 'y')
                                                x = isRotated ? 0 : -padding, y = isRotated ? $$.height + padding : 0;
                                            else if (target === 'y2')
                                                x = isRotated ? 0 : $$.width + padding, y = isRotated ? 1 - padding : 0;
                                            else if (target === 'subx')
                                                x = 0, y = isRotated ? 0 : $$.height2;
                                            else if (target === 'arc')
                                                x = $$.arcWidth / 2, y = $$.arcHeight / 2;
                                            else if (target === 'radar') {
                                                var _$$$getRadarSize = $$.getRadarSize(), _$$$getRadarSize2 = _slicedToArray(_$$$getRadarSize, 1), width = _$$$getRadarSize2[0];
                                                x = $$.width / 2 - width, y = asHalfPixel($$.margin.top);
                                            }
                                            return 'translate('.concat(x, ', ').concat(y, ')');
                                        }
                                    },
                                    {
                                        key: 'initialOpacity',
                                        value: function initialOpacity(d) {
                                            return this.getBaseValue(d) !== null && this.withoutFadeIn[d.id] ? '1' : '0';
                                        }
                                    },
                                    {
                                        key: 'initialOpacityForCircle',
                                        value: function initialOpacityForCircle(d) {
                                            return this.getBaseValue(d) !== null && this.withoutFadeIn[d.id] ? this.opacityForCircle(d) : '0';
                                        }
                                    },
                                    {
                                        key: 'opacityForCircle',
                                        value: function opacityForCircle(d) {
                                            var opacity = this.config.point_show ? '1' : '0';
                                            return isValue(this.getBaseValue(d)) ? this.isBubbleType(d) || this.isScatterType(d) ? '0.5' : opacity : '0';
                                        }
                                    },
                                    {
                                        key: 'opacityForText',
                                        value: function opacityForText() {
                                            return this.hasDataLabel() ? '1' : '0';
                                        }
                                    },
                                    {
                                        key: 'xx',
                                        value: function xx(d) {
                                            var $$ = this, fn = $$.config.zoom_enabled && $$.zoomScale ? $$.zoomScale : this.x;
                                            return d ? fn(isValue(d.x) ? d.x : d) : null;
                                        }
                                    },
                                    {
                                        key: 'xv',
                                        value: function xv(d) {
                                            var $$ = this, value = $$.getBaseValue(d);
                                            return $$.isTimeSeries() ? value = $$.parseDate(value) : $$.isCategorized() && isString(value) && (value = $$.config.axis_x_categories.indexOf(value)), Math.ceil($$.x(value));
                                        }
                                    },
                                    {
                                        key: 'yv',
                                        value: function yv(d) {
                                            var $$ = this, yScale = d.axis && d.axis === 'y2' ? $$.y2 : $$.y;
                                            return Math.ceil(yScale($$.getBaseValue(d)));
                                        }
                                    },
                                    {
                                        key: 'subxx',
                                        value: function subxx(d) {
                                            return d ? this.subX(d.x) : null;
                                        }
                                    },
                                    {
                                        key: 'transformMain',
                                        value: function transformMain(withTransition, transitions) {
                                            var xAxis, yAxis, y2Axis, $$ = this;
                                            transitions && transitions.axisX ? xAxis = transitions.axisX : (xAxis = $$.main.select('.'.concat(config_classes.axisX)), withTransition && (xAxis = xAxis.transition())), transitions && transitions.axisY ? yAxis = transitions.axisY : (yAxis = $$.main.select('.'.concat(config_classes.axisY)), withTransition && (yAxis = yAxis.transition())), transitions && transitions.axisY2 ? y2Axis = transitions.axisY2 : (y2Axis = $$.main.select('.'.concat(config_classes.axisY2)), withTransition && (y2Axis = y2Axis.transition())), (withTransition ? $$.main.transition() : $$.main).attr('transform', $$.getTranslate('main')), xAxis.attr('transform', $$.getTranslate('x')), yAxis.attr('transform', $$.getTranslate('y')), y2Axis.attr('transform', $$.getTranslate('y2')), $$.main.select('.'.concat(config_classes.chartArcs)).attr('transform', $$.getTranslate('arc'));
                                        }
                                    },
                                    {
                                        key: 'transformAll',
                                        value: function transformAll(withTransition, transitions) {
                                            var $$ = this;
                                            $$.transformMain(withTransition, transitions), $$.config.subchart_show && $$.transformContext(withTransition, transitions), $$.legend && $$.transformLegend(withTransition);
                                        }
                                    },
                                    {
                                        key: 'updateSvgSize',
                                        value: function updateSvgSize() {
                                            var $$ = this, brush = $$.svg.select('.'.concat(config_classes.brush, ' .overlay')), brushSize = {
                                                    width: 0,
                                                    height: 0
                                                };
                                            brush.size() && (brushSize.width = +brush.attr('width'), brushSize.height = +brush.attr('height')), $$.svg.attr('width', $$.currentWidth).attr('height', $$.currentHeight), $$.svg.selectAll([
                                                '#'.concat($$.clipId),
                                                '#'.concat($$.clipIdForGrid)
                                            ]).select('rect').attr('width', $$.width).attr('height', $$.height), $$.svg.select('#'.concat($$.clipIdForXAxis)).select('rect').attr('x', $$.getXAxisClipX.bind($$)).attr('y', $$.getXAxisClipY.bind($$)).attr('width', $$.getXAxisClipWidth.bind($$)).attr('height', $$.getXAxisClipHeight.bind($$)), $$.svg.select('#'.concat($$.clipIdForYAxis)).select('rect').attr('x', $$.getYAxisClipX.bind($$)).attr('y', $$.getYAxisClipY.bind($$)).attr('width', $$.getYAxisClipWidth.bind($$)).attr('height', $$.getYAxisClipHeight.bind($$)), $$.svg.select('#'.concat($$.clipIdForSubchart)).select('rect').attr('width', $$.width).attr('height', brushSize.height), $$.svg.select('.'.concat(config_classes.zoomRect)).attr('width', $$.width).attr('height', $$.height);
                                        }
                                    },
                                    {
                                        key: 'updateDimension',
                                        value: function updateDimension(withoutAxis) {
                                            var $$ = this;
                                            withoutAxis || ($$.xAxis && $$.config.axis_rotated ? ($$.xAxis.create($$.axes.x), $$.subXAxis.create($$.axes.subx)) : ($$.yAxis && $$.yAxis.create($$.axes.y), $$.y2Axis && $$.y2Axis.create($$.axes.y2))), $$.updateScales(withoutAxis), $$.updateSvgSize(), $$.transformAll(!1);
                                        }
                                    },
                                    {
                                        key: 'bindResize',
                                        value: function bindResize() {
                                            var $$ = this, config = $$.config, resizeFunction = $$.generateResize(), list = [];
                                            list.push(function () {
                                                return callFn(config.onresize, $$, $$.api);
                                            }), config.resize_auto && list.push(function () {
                                                return $$.api.flush(!1, !0);
                                            }), list.push(function () {
                                                return callFn(config.onresized, $$, $$.api);
                                            }), list.forEach(function (v) {
                                                return resizeFunction.add(v);
                                            }), win.addEventListener('resize', $$.resizeFunction = resizeFunction);
                                        }
                                    },
                                    {
                                        key: 'generateResize',
                                        value: function generateResize() {
                                            function callResizeFn() {
                                                callResizeFn.timeout && (win.clearTimeout(callResizeFn.timeout), callResizeFn.timeout = null), callResizeFn.timeout = win.setTimeout(function () {
                                                    fn.forEach(function (f) {
                                                        return f();
                                                    });
                                                }, 200);
                                            }
                                            var fn = [];
                                            return callResizeFn.add = function (f) {
                                                return fn.push(f);
                                            }, callResizeFn.remove = function (f) {
                                                return fn.splice(fn.indexOf(f), 1);
                                            }, callResizeFn;
                                        }
                                    },
                                    {
                                        key: 'endall',
                                        value: function endall(transition, callback) {
                                            var n = 0;
                                            transition.each(function () {
                                                return ++n;
                                            }).on('end', function () {
                                                for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++)
                                                    args[_key] = arguments[_key];
                                                --n || callback.apply.apply(callback, [this].concat(args));
                                            });
                                        }
                                    },
                                    {
                                        key: 'generateWait',
                                        value: function generateWait() {
                                            var transitionsToWait = [], f = function (transition, callback) {
                                                    function loop() {
                                                        for (var t, done = 0, i = 0; t = transitionsToWait[i]; i++) {
                                                            if (t === !0 || t.empty && t.empty()) {
                                                                done++;
                                                                continue;
                                                            }
                                                            try {
                                                                t.transition();
                                                            } catch (e) {
                                                                done++;
                                                            }
                                                        }
                                                        timer && clearTimeout(timer), done === transitionsToWait.length ? callback && callback() : timer = setTimeout(loop, 50);
                                                    }
                                                    var timer;
                                                    loop();
                                                };
                                            return f.add = function (transition) {
                                                isArray(transition) ? transitionsToWait = transitionsToWait.concat(transition) : transitionsToWait.push(transition);
                                            }, f;
                                        }
                                    },
                                    {
                                        key: 'parseDate',
                                        value: function parseDate(date) {
                                            var parsedDate, $$ = this;
                                            return date instanceof Date ? parsedDate = date : isString(date) ? parsedDate = $$.dataTimeFormat($$.config.data_xFormat)(date) : isNumber(date) && !isNaN(date) && (parsedDate = new Date(+date)), (!parsedDate || isNaN(+parsedDate)) && console && console.error && console.error('Failed to parse x \''.concat(date, '\' to Date object')), parsedDate;
                                        }
                                    },
                                    {
                                        key: 'isTabVisible',
                                        value: function isTabVisible() {
                                            return !browser_doc.hidden;
                                        }
                                    },
                                    {
                                        key: 'convertInputType',
                                        value: function convertInputType() {
                                            var $$ = this, config = $$.config, isMobile = !1;
                                            if (/Mobi/.test(win.navigator.userAgent) && config.interaction_inputType_touch) {
                                                var hasTouchPoints = win.navigator && 'maxTouchPoints' in win.navigator && win.navigator.maxTouchPoints > 0, hasTouch = 'ontouchmove' in win || win.DocumentTouch && browser_doc instanceof win.DocumentTouch;
                                                isMobile = hasTouchPoints || hasTouch;
                                            }
                                            var hasMouse = config.interaction_inputType_mouse && !isMobile && 'onmouseover' in win;
                                            return hasMouse && 'mouse' || isMobile && 'touch' || null;
                                        }
                                    },
                                    {
                                        key: 'callPluginHook',
                                        value: function callPluginHook(phase) {
                                            for (var _this2 = this, _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++)
                                                args[_key2 - 1] = arguments[_key2];
                                            this.config.plugins.forEach(function (v) {
                                                phase === '$beforeInit' && (v.$$ = _this2, _this2.api.plugins.push(v)), v[phase].apply(v, args);
                                            });
                                        }
                                    }
                                ]), ChartInternal;
                            }();
                            var Chart_Chart = function Chart(config) {
                                _classCallCheck(this, Chart);
                                var $$ = new ChartInternal_ChartInternal(this);
                                this.plugins = [], this.internal = $$, $$.loadConfig(config), $$.beforeInit(config), $$.init(), function bindThis(fn, target, argThis) {
                                    Object.keys(fn).forEach(function (key) {
                                        target[key] = fn[key].bind(argThis), Object.keys(fn[key]).length && bindThis(fn[key], target[key], argThis);
                                    });
                                }(Chart.prototype, this, this);
                            };
                            var Options_Options = function Options() {
                                return _classCallCheck(this, Options), {
                                    bindto: '#chart',
                                    background: {},
                                    clipPath: !0,
                                    svg_classname: undefined,
                                    size_width: undefined,
                                    size_height: undefined,
                                    padding_left: undefined,
                                    padding_right: undefined,
                                    padding_top: undefined,
                                    padding_bottom: undefined,
                                    resize_auto: !0,
                                    zoom_enabled: undefined,
                                    zoom_extent: undefined,
                                    zoom_privileged: !1,
                                    zoom_rescale: !1,
                                    zoom_onzoom: undefined,
                                    zoom_onzoomstart: undefined,
                                    zoom_onzoomend: undefined,
                                    zoom_resetButton: !0,
                                    zoom_x_min: undefined,
                                    zoom_x_max: undefined,
                                    interaction_enabled: !0,
                                    interaction_brighten: !0,
                                    interaction_inputType_mouse: !0,
                                    interaction_inputType_touch: {},
                                    onover: undefined,
                                    onout: undefined,
                                    onresize: undefined,
                                    onresized: undefined,
                                    onbeforeinit: undefined,
                                    oninit: undefined,
                                    onafterinit: undefined,
                                    onrendered: undefined,
                                    transition_duration: 350,
                                    data_x: undefined,
                                    data_xs: {},
                                    data_xFormat: '%Y-%m-%d',
                                    data_xLocaltime: !0,
                                    data_xSort: !0,
                                    data_idConverter: function data_idConverter(id) {
                                        return id;
                                    },
                                    data_names: {},
                                    data_classes: {},
                                    data_groups: [],
                                    data_axes: {},
                                    data_type: undefined,
                                    data_types: {},
                                    data_labels: {},
                                    data_labels_colors: undefined,
                                    data_labels_position: {},
                                    data_order: 'desc',
                                    data_regions: {},
                                    data_color: undefined,
                                    data_colors: {},
                                    data_hide: !1,
                                    data_filter: undefined,
                                    data_stack_normalize: !1,
                                    data_selection_enabled: !1,
                                    data_selection_grouped: !1,
                                    data_selection_isselectable: function data_selection_isselectable() {
                                        return !0;
                                    },
                                    data_selection_multiple: !0,
                                    data_selection_draggable: !1,
                                    data_onclick: function data_onclick() {
                                    },
                                    data_onover: function data_onover() {
                                    },
                                    data_onout: function data_onout() {
                                    },
                                    data_onselected: function data_onselected() {
                                    },
                                    data_onunselected: function data_onunselected() {
                                    },
                                    data_onmin: undefined,
                                    data_onmax: undefined,
                                    data_url: undefined,
                                    data_headers: undefined,
                                    data_json: undefined,
                                    data_rows: undefined,
                                    data_columns: undefined,
                                    data_mimeType: 'csv',
                                    data_keys: undefined,
                                    data_empty_label_text: '',
                                    subchart_show: !1,
                                    subchart_size_height: 60,
                                    subchart_axis_x_show: !0,
                                    subchart_axis_x_tick_show: !0,
                                    subchart_axis_x_tick_text_show: !0,
                                    subchart_onbrush: function subchart_onbrush() {
                                    },
                                    color_pattern: [],
                                    color_tiles: undefined,
                                    color_threshold: {},
                                    color_onover: undefined,
                                    legend_show: !0,
                                    legend_hide: !1,
                                    legend_contents_bindto: undefined,
                                    legend_contents_template: undefined,
                                    legend_position: 'bottom',
                                    legend_inset_anchor: 'top-left',
                                    legend_inset_x: 10,
                                    legend_inset_y: 0,
                                    legend_inset_step: undefined,
                                    legend_item_onclick: undefined,
                                    legend_item_onover: undefined,
                                    legend_item_onout: undefined,
                                    legend_equally: !1,
                                    legend_padding: 0,
                                    legend_item_tile_width: 10,
                                    legend_item_tile_height: 10,
                                    legend_usePoint: !1,
                                    axis_rotated: !1,
                                    axis_x_clipPath: !0,
                                    axis_x_show: !0,
                                    axis_x_type: 'indexed',
                                    axis_x_localtime: !0,
                                    axis_x_categories: [],
                                    axis_x_tick_centered: !1,
                                    axis_x_tick_format: undefined,
                                    axis_x_tick_culling: {},
                                    axis_x_tick_culling_max: 10,
                                    axis_x_tick_count: undefined,
                                    axis_x_tick_show: !0,
                                    axis_x_tick_text_show: !0,
                                    axis_x_tick_text_position: {
                                        x: 0,
                                        y: 0
                                    },
                                    axis_x_tick_fit: !0,
                                    axis_x_tick_values: null,
                                    axis_x_tick_autorotate: !1,
                                    axis_x_tick_rotate: 0,
                                    axis_x_tick_outer: !0,
                                    axis_x_tick_multiline: !0,
                                    axis_x_tick_width: null,
                                    axis_x_tick_tooltip: !1,
                                    axis_x_max: undefined,
                                    axis_x_min: undefined,
                                    axis_x_padding: {},
                                    axis_x_height: undefined,
                                    axis_x_extent: undefined,
                                    axis_x_label: {},
                                    axis_x_axes: [],
                                    axis_y_clipPath: !0,
                                    axis_y_show: !0,
                                    axis_y_type: undefined,
                                    axis_y_max: undefined,
                                    axis_y_min: undefined,
                                    axis_y_inverted: !1,
                                    axis_y_center: undefined,
                                    axis_y_inner: !1,
                                    axis_y_label: {},
                                    axis_y_tick_format: undefined,
                                    axis_y_tick_culling: !1,
                                    axis_y_tick_culling_max: 5,
                                    axis_y_tick_outer: !0,
                                    axis_y_tick_values: null,
                                    axis_y_tick_rotate: 0,
                                    axis_y_tick_count: undefined,
                                    axis_y_tick_show: !0,
                                    axis_y_tick_stepSize: null,
                                    axis_y_tick_text_show: !0,
                                    axis_y_tick_text_position: {
                                        x: 0,
                                        y: 0
                                    },
                                    axis_y_tick_time_value: undefined,
                                    axis_y_padding: {},
                                    axis_y_default: undefined,
                                    axis_y_axes: [],
                                    axis_y2_show: !1,
                                    axis_y2_max: undefined,
                                    axis_y2_min: undefined,
                                    axis_y2_inverted: !1,
                                    axis_y2_center: undefined,
                                    axis_y2_inner: !1,
                                    axis_y2_label: {},
                                    axis_y2_tick_format: undefined,
                                    axis_y2_tick_culling: !1,
                                    axis_y2_tick_culling_max: 5,
                                    axis_y2_tick_outer: !0,
                                    axis_y2_tick_values: null,
                                    axis_y2_tick_rotate: 0,
                                    axis_y2_tick_count: undefined,
                                    axis_y2_tick_show: !0,
                                    axis_y2_tick_stepSize: null,
                                    axis_y2_tick_text_show: !0,
                                    axis_y2_tick_text_position: {
                                        x: 0,
                                        y: 0
                                    },
                                    axis_y2_padding: {},
                                    axis_y2_default: undefined,
                                    axis_y2_axes: [],
                                    grid_x_show: !1,
                                    grid_x_type: 'tick',
                                    grid_x_lines: [],
                                    grid_y_show: !1,
                                    grid_y_lines: [],
                                    grid_y_ticks: 10,
                                    grid_focus_edge: !1,
                                    grid_focus_show: !0,
                                    grid_focus_y: !1,
                                    grid_front: !1,
                                    grid_lines_front: !0,
                                    point_show: !0,
                                    point_r: 2.5,
                                    point_sensitivity: 10,
                                    point_focus_expand_enabled: !0,
                                    point_focus_expand_r: undefined,
                                    point_pattern: [],
                                    point_select_r: undefined,
                                    point_type: 'circle',
                                    line_connectNull: !1,
                                    line_step_type: 'step',
                                    line_zerobased: !1,
                                    line_classes: undefined,
                                    line_point: !0,
                                    scatter_zerobased: !1,
                                    bar_padding: 0,
                                    bar_radius: undefined,
                                    bar_radius_ratio: undefined,
                                    bar_sensitivity: 2,
                                    bar_width: undefined,
                                    bar_width_ratio: 0.6,
                                    bar_width_max: undefined,
                                    bar_zerobased: !0,
                                    bubble_maxR: 35,
                                    bubble_zerobased: !1,
                                    area_zerobased: !0,
                                    area_above: !1,
                                    area_linearGradient: !1,
                                    pie_label_show: !0,
                                    pie_label_format: undefined,
                                    pie_label_threshold: 0.05,
                                    pie_label_ratio: undefined,
                                    pie_expand: {},
                                    pie_expand_rate: 0.98,
                                    pie_expand_duration: 50,
                                    pie_innerRadius: 0,
                                    pie_padAngle: 0,
                                    pie_padding: 0,
                                    pie_startingAngle: 0,
                                    plugins: [],
                                    gauge_fullCircle: !1,
                                    gauge_label_show: !0,
                                    gauge_label_format: undefined,
                                    gauge_min: 0,
                                    gauge_max: 100,
                                    gauge_type: 'single',
                                    gauge_startingAngle: -1 * Math.PI / 2,
                                    gauge_label_extents: undefined,
                                    gauge_title: '',
                                    gauge_units: undefined,
                                    gauge_width: undefined,
                                    gauge_arcs_minWidth: 5,
                                    gauge_expand: {},
                                    gauge_expand_rate: 0.98,
                                    gauge_expand_duration: 50,
                                    donut_label_show: !0,
                                    donut_label_format: undefined,
                                    donut_label_threshold: 0.05,
                                    donut_label_ratio: undefined,
                                    donut_width: undefined,
                                    donut_title: '',
                                    donut_expand: {},
                                    donut_expand_rate: 0.98,
                                    donut_expand_duration: 50,
                                    donut_padAngle: 0,
                                    donut_startingAngle: 0,
                                    spline_interpolation_type: 'cardinal',
                                    radar_axis_max: undefined,
                                    radar_axis_line_show: !0,
                                    radar_axis_text_show: !0,
                                    radar_axis_text_position: {},
                                    radar_level_depth: 3,
                                    radar_level_show: !0,
                                    radar_level_text_format: function radar_level_text_format(x) {
                                        return x % 1 === 0 ? x : x.toFixed(2);
                                    },
                                    radar_level_text_show: !0,
                                    radar_size_ratio: 0.87,
                                    radar_direction_clockwise: !1,
                                    render: {},
                                    regions: [],
                                    tooltip_show: !0,
                                    tooltip_doNotHide: !1,
                                    tooltip_grouped: !0,
                                    tooltip_format_title: undefined,
                                    tooltip_format_name: undefined,
                                    tooltip_format_value: undefined,
                                    tooltip_position: undefined,
                                    tooltip_contents: {},
                                    tooltip_init_show: !1,
                                    tooltip_init_x: 0,
                                    tooltip_init_position: {
                                        top: '0px',
                                        left: '50px'
                                    },
                                    tooltip_linked: !1,
                                    tooltip_linked_name: '',
                                    tooltip_onshow: function tooltip_onshow() {
                                    },
                                    tooltip_onhide: function tooltip_onhide() {
                                    },
                                    tooltip_onshown: function tooltip_onshown() {
                                    },
                                    tooltip_onhidden: function tooltip_onhidden() {
                                    },
                                    tooltip_order: null,
                                    title_text: undefined,
                                    title_padding: {
                                        top: 0,
                                        right: 0,
                                        bottom: 0,
                                        left: 0
                                    },
                                    title_position: 'center'
                                };
                            };
                            extend(ChartInternal_ChartInternal.prototype, {
                                getOptions: function getOptions() {
                                    return new Options_Options();
                                },
                                loadConfig: function loadConfig(config) {
                                    var target, keys, read, thisConfig = this.config, find = function () {
                                            var key = keys.shift();
                                            return key && target && isObjectType(target) && key in target ? (target = target[key], find()) : key ? undefined : target;
                                        };
                                    Object.keys(thisConfig).forEach(function (key) {
                                        target = config, keys = key.split('_'), read = find(), isDefined(read) && (thisConfig[key] = read);
                                    });
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                getScale: function getScale(min, max, forTimeseries) {
                                    return (forTimeseries ? Object(external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_['scaleTime'])() : Object(external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_['scaleLinear'])()).range([
                                        min,
                                        max
                                    ]);
                                },
                                getX: function getX(min, max, domain, offset) {
                                    var $$ = this, scale = $$.zoomScale || $$.getScale(min, max, $$.isTimeSeries());
                                    return $$.getCustomizedScale(domain ? scale.domain(domain) : scale, offset);
                                },
                                getY: function getY(min, max, domain) {
                                    var scale = this.getScale(min, max, this.isTimeSeriesY());
                                    return domain && scale.domain(domain), scale;
                                },
                                getCustomizedScale: function getCustomizedScale(scaleValue, offsetValue) {
                                    var $$ = this, offset = offsetValue || function () {
                                            return $$.xAxis.tickOffset();
                                        }, scale = function (d, raw) {
                                            var v = scaleValue(d) + offset();
                                            return raw ? v : Math.ceil(v);
                                        };
                                    for (var key in scaleValue)
                                        scale[key] = scaleValue[key];
                                    return scale.orgDomain = function () {
                                        return scaleValue.domain();
                                    }, scale.orgScale = function () {
                                        return scaleValue;
                                    }, $$.isCategorized() && (scale.domain = function (domainValue) {
                                        var domain = domainValue;
                                        return arguments.length ? (scaleValue.domain(domain), scale) : (domain = this.orgDomain(), [
                                            domain[0],
                                            domain[1] + 1
                                        ]);
                                    }), scale;
                                },
                                getYScale: function getYScale(id) {
                                    return this.axis.getId(id) === 'y2' ? this.y2 : this.y;
                                },
                                getSubYScale: function getSubYScale(id) {
                                    return this.axis.getId(id) === 'y2' ? this.subY2 : this.subY;
                                },
                                updateScales: function updateScales(isInit) {
                                    var updateXDomain = !(arguments.length > 1 && arguments[1] !== undefined) || arguments[1], $$ = this, config = $$.config, isRotated = config.axis_rotated;
                                    $$.xMin = isRotated ? 1 : 0, $$.xMax = isRotated ? $$.height : $$.width, $$.yMin = isRotated ? 0 : $$.height, $$.yMax = isRotated ? $$.width : 1, $$.subXMin = $$.xMin, $$.subXMax = $$.xMax, $$.subYMin = isRotated ? 0 : $$.height2, $$.subYMax = isRotated ? $$.width2 : 1;
                                    var xDomain = updateXDomain && $$.x && $$.x.orgDomain(), xSubDomain = updateXDomain && $$.orgXDomain;
                                    $$.x = $$.getX($$.xMin, $$.xMax, xDomain, function () {
                                        return $$.xAxis.tickOffset();
                                    }), $$.subX = $$.getX($$.xMin, $$.xMax, xSubDomain, function (d) {
                                        return d % 1 ? 0 : $$.subXAxis.tickOffset();
                                    }), $$.xAxisTickFormat = $$.axis.getXAxisTickFormat(), $$.xAxisTickValues = $$.axis.getTickValues('x'), $$.xAxis = $$.axis.getAxis('x', $$.x, config.axis_x_tick_outer, isInit), $$.subXAxis = $$.axis.getAxis('subX', $$.subX, config.axis_x_tick_outer, isInit), $$.y = $$.getY($$.yMin, $$.yMax, $$.y ? $$.y.domain() : config.axis_y_default), $$.subY = $$.getY($$.subYMin, $$.subYMax, $$.subY ? $$.subY.domain() : config.axis_y_default), $$.yAxisTickValues = $$.axis.getTickValues('y'), $$.yAxis = $$.axis.getAxis('y', $$.y, config.axis_y_tick_outer, isInit), config.axis_y2_show && ($$.y2 = $$.getY($$.yMin, $$.yMax, $$.y2 ? $$.y2.domain() : config.axis_y2_default), $$.subY2 = $$.getY($$.subYMin, $$.subYMax, $$.subY2 ? $$.subY2.domain() : config.axis_y2_default), $$.y2AxisTickValues = $$.axis.getTickValues('y2'), $$.y2Axis = $$.axis.getAxis('y2', $$.y2, config.axis_y2_tick_outer, isInit)), $$.updateArc && $$.updateArc();
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                getYDomainMinMax: function getYDomainMinMax(targets, type) {
                                    var $$ = this, config = $$.config, isMin = type === 'min', dataGroups = config.data_groups, ids = $$.mapToIds(targets), ys = $$.getValuesAsIdKeyed(targets);
                                    return dataGroups.length > 0 && function () {
                                        for (var idsInGroup, _ret, hasValue = $$['has'.concat(isMin ? 'Negative' : 'Positive', 'ValueInTargets')](targets), _loop = function (j, _idsInGroup) {
                                                    if (_idsInGroup = _idsInGroup.filter(function (v) {
                                                            return ids.indexOf(v) >= 0;
                                                        }), _idsInGroup.length === 0)
                                                        return idsInGroup = _idsInGroup, 'continue';
                                                    var baseId = _idsInGroup[0], baseAxisId = $$.axis.getId(baseId);
                                                    hasValue && ys[baseId] && (ys[baseId] = ys[baseId].map(function (v) {
                                                        return (isMin ? v < 0 : v > 0) ? v : 0;
                                                    }));
                                                    for (var id, _ret2, _loop2 = function (k, id) {
                                                                if (!ys[id])
                                                                    return 'continue';
                                                                var axisId = $$.axis.getId(id);
                                                                ys[id].forEach(function (v, i) {
                                                                    var val = +v, meetCondition = isMin ? val > 0 : val < 0;
                                                                    axisId !== baseAxisId || hasValue && meetCondition || (ys[baseId][i] += val);
                                                                });
                                                            }, k = 1; id = _idsInGroup[k]; k++)
                                                        _ret2 = _loop2(k, id), _ret2 === 'continue';
                                                    idsInGroup = _idsInGroup;
                                                }, j = 0; idsInGroup = dataGroups[j]; j++)
                                            _ret = _loop(j, idsInGroup), _ret === 'continue';
                                    }(), getMinMax(type, Object.keys(ys).map(function (key) {
                                        return getMinMax(type, ys[key]);
                                    }));
                                },
                                getYDomainMin: function getYDomainMin(targets) {
                                    return this.getYDomainMinMax(targets, 'min');
                                },
                                getYDomainMax: function getYDomainMax(targets) {
                                    return this.getYDomainMinMax(targets, 'max');
                                },
                                isHiddenTargetWithYDomain: function isHiddenTargetWithYDomain(id) {
                                    var $$ = this;
                                    return $$.hiddenTargetIds.some(function (v) {
                                        return $$.axis.getId(v) === id;
                                    });
                                },
                                getYDomain: function getYDomain(targets, axisId, xDomain) {
                                    var $$ = this, config = $$.config, pfx = 'axis_'.concat(axisId);
                                    if ($$.isStackNormalized())
                                        return [
                                            0,
                                            100
                                        ];
                                    var targetsByAxisId = targets.filter(function (t) {
                                            return $$.axis.getId(t.id) === axisId;
                                        }), yTargets = xDomain ? $$.filterByXDomain(targetsByAxisId, xDomain) : targetsByAxisId;
                                    if (yTargets.length === 0)
                                        return $$.isHiddenTargetWithYDomain(axisId) ? $$[axisId].domain() : axisId === 'y2' ? $$.y.domain() : $$.getYDomain(targets, 'y2', xDomain);
                                    var yMin = config[''.concat(pfx, '_min')], yMax = config[''.concat(pfx, '_max')], yDomainMin = $$.getYDomainMin(yTargets), yDomainMax = $$.getYDomainMax(yTargets), center = config[''.concat(pfx, '_center')], isZeroBased = [
                                            'area',
                                            'bar',
                                            'bubble',
                                            'line',
                                            'scatter'
                                        ].some(function (v) {
                                            return $$.hasType(v, yTargets) && config[''.concat(v, '_zerobased')];
                                        }), isInverted = config[''.concat(pfx, '_inverted')], showHorizontalDataLabel = $$.hasDataLabel() && config.axis_rotated, showVerticalDataLabel = $$.hasDataLabel() && !config.axis_rotated;
                                    yDomainMin = isValue(yMin) ? yMin : isValue(yMax) ? yDomainMin < yMax ? yDomainMin : yMax - 10 : yDomainMin, yDomainMax = isValue(yMax) ? yMax : isValue(yMin) ? yMin < yDomainMax ? yDomainMax : yMin + 10 : yDomainMax, isNaN(yDomainMin) && (yDomainMin = 0), isNaN(yDomainMax) && (yDomainMax = yDomainMin), yDomainMin === yDomainMax && (yDomainMin < 0 ? yDomainMax = 0 : yDomainMin = 0);
                                    var isAllPositive = yDomainMin >= 0 && yDomainMax >= 0, isAllNegative = yDomainMin <= 0 && yDomainMax <= 0;
                                    (isValue(yMin) && isAllPositive || isValue(yMax) && isAllNegative) && (isZeroBased = !1), isZeroBased && (isAllPositive && (yDomainMin = 0), isAllNegative && (yDomainMax = 0));
                                    var domainLength = Math.abs(yDomainMax - yDomainMin), padding = {
                                            top: domainLength * 0.1,
                                            bottom: domainLength * 0.1
                                        };
                                    if (isDefined(center)) {
                                        var yDomainAbs = Math.max(Math.abs(yDomainMin), Math.abs(yDomainMax));
                                        yDomainMax = center + yDomainAbs, yDomainMin = center - yDomainAbs;
                                    }
                                    if (showHorizontalDataLabel) {
                                        var diff = diffDomain($$.y.range()), ratio = $$.getDataLabelLength(yDomainMin, yDomainMax, 'width').map(function (v) {
                                                return v / diff;
                                            });
                                        [
                                            'bottom',
                                            'top'
                                        ].forEach(function (v, i) {
                                            padding[v] += domainLength * (ratio[i] / (1 - ratio[0] - ratio[1]));
                                        });
                                    } else if (showVerticalDataLabel) {
                                        var lengths = $$.getDataLabelLength(yDomainMin, yDomainMax, 'height');
                                        [
                                            'bottom',
                                            'top'
                                        ].forEach(function (v, i) {
                                            padding[v] += $$.axis.convertPixelsToAxisPadding(lengths[i], domainLength);
                                        });
                                    }
                                    var p = config[''.concat(pfx, '_padding')];
                                    notEmpty(p) && [
                                        'bottom',
                                        'top'
                                    ].forEach(function (v) {
                                        padding[v] = $$.axis.getPadding(p, v, padding[v], domainLength);
                                    }), isZeroBased && (isAllPositive && (padding.bottom = yDomainMin), isAllNegative && (padding.top = -yDomainMax));
                                    var domain = [
                                        yDomainMin - padding.bottom,
                                        yDomainMax + padding.top
                                    ];
                                    return isInverted ? domain.reverse() : domain;
                                },
                                getXDomainMinMax: function getXDomainMinMax(targets, type) {
                                    var $$ = this, configValue = $$.config['axis_x_'.concat(type)], dataValue = getMinMax(type, targets.map(function (t) {
                                            return getMinMax(type, t.values.map(function (v) {
                                                return v.x;
                                            }));
                                        })), value = isObject(configValue) ? configValue.value : configValue;
                                    return value = isDefined(value) && $$.isTimeSeries() ? $$.parseDate(value) : value, isObject(configValue) && configValue.fit && (type === 'min' && value < dataValue || type === 'max' && value > dataValue) && (value = undefined), isDefined(value) ? value : dataValue;
                                },
                                getXDomainMin: function getXDomainMin(targets) {
                                    return this.getXDomainMinMax(targets, 'min');
                                },
                                getXDomainMax: function getXDomainMax(targets) {
                                    return this.getXDomainMinMax(targets, 'max');
                                },
                                getXDomainPadding: function getXDomainPadding(domain) {
                                    var maxDataCount, padding, $$ = this, config = $$.config, diff = domain[1] - domain[0], xPadding = config.axis_x_padding;
                                    $$.isCategorized() ? padding = 0 : $$.hasType('bar') ? (maxDataCount = $$.getMaxDataCount(), padding = maxDataCount > 1 ? diff / (maxDataCount - 1) / 2 : 0.5) : padding = diff * 0.01;
                                    var left = padding, right = padding;
                                    return isObject(xPadding) && notEmpty(xPadding) ? (left = isValue(xPadding.left) ? xPadding.left : padding, right = isValue(xPadding.right) ? xPadding.right : padding) : isNumber(config.axis_x_padding) && (left = xPadding, right = xPadding), {
                                        left: left,
                                        right: right
                                    };
                                },
                                getXDomain: function getXDomain(targets) {
                                    var $$ = this, xDomain = [
                                            $$.getXDomainMin(targets),
                                            $$.getXDomainMax(targets)
                                        ], _xDomain2 = _slicedToArray(xDomain, 2), firstX = _xDomain2[0], lastX = _xDomain2[1], padding = $$.getXDomainPadding(xDomain), min = 0, max = 0;
                                    return firstX - lastX !== 0 || $$.isCategorized() || ($$.isTimeSeries() ? (firstX = new Date(firstX.getTime() * 0.5), lastX = new Date(lastX.getTime() * 1.5)) : (firstX = firstX === 0 ? 1 : firstX * 0.5, lastX = lastX === 0 ? -1 : lastX * 1.5)), (firstX || firstX === 0) && (min = $$.isTimeSeries() ? new Date(firstX.getTime() - padding.left) : firstX - padding.left), (lastX || lastX === 0) && (max = $$.isTimeSeries() ? new Date(lastX.getTime() + padding.right) : lastX + padding.right), [
                                        min,
                                        max
                                    ];
                                },
                                updateXDomain: function updateXDomain(targets, withUpdateXDomain, withUpdateOrgXDomain, withTrim, domain) {
                                    var $$ = this, config = $$.config, zoomEnabled = config.zoom_enabled;
                                    if (withUpdateOrgXDomain && ($$.x.domain(domain || sortValue($$.getXDomain(targets))), $$.orgXDomain = $$.x.domain(), zoomEnabled && $$.zoom.updateScaleExtent(), $$.subX.domain($$.x.domain()), $$.brush && $$.brush.scale($$.subX)), withUpdateXDomain) {
                                        var domainValue = domain || !$$.brush || brushEmpty($$) ? $$.orgXDomain : getBrushSelection($$).map($$.subX.invert);
                                        $$.x.domain(domainValue), zoomEnabled && $$.zoom.updateScaleExtent();
                                    }
                                    return withTrim && $$.x.domain($$.trimXDomain($$.x.orgDomain())), $$.x.domain();
                                },
                                trimXDomain: function trimXDomain(domain) {
                                    var zoomDomain = this.getZoomDomain(), _zoomDomain = _slicedToArray(zoomDomain, 2), min = _zoomDomain[0], max = _zoomDomain[1];
                                    return domain[0] <= min && (domain[1] = +domain[1] + (min - domain[0]), domain[0] = min), max <= domain[1] && (domain[0] = +domain[0] - (domain[1] - max), domain[1] = max), domain;
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                isX: function isX(key) {
                                    var $$ = this, config = $$.config, dataKey = config.data_x && key === config.data_x, existValue = notEmpty(config.data_xs) && util_hasValue(config.data_xs, key);
                                    return dataKey || existValue;
                                },
                                isNotX: function isNotX(key) {
                                    return !this.isX(key);
                                },
                                isStackNormalized: function isStackNormalized() {
                                    var config = this.config;
                                    return config.data_stack_normalize && this.isGrouped();
                                },
                                isGrouped: function isGrouped(id) {
                                    var groups = this.config.data_groups;
                                    return id ? groups.some(function (v) {
                                        return v.indexOf(id) >= 0 && v.length > 1;
                                    }) : groups.length > 0;
                                },
                                getXKey: function getXKey(id) {
                                    var $$ = this, config = $$.config;
                                    return config.data_x ? config.data_x : notEmpty(config.data_xs) ? config.data_xs[id] : null;
                                },
                                getXValuesOfXKey: function getXValuesOfXKey(key, targets) {
                                    var xValues, $$ = this, ids = targets && notEmpty(targets) ? $$.mapToIds(targets) : [];
                                    return ids.forEach(function (id) {
                                        $$.getXKey(id) === key && (xValues = $$.data.xs[id]);
                                    }), xValues;
                                },
                                getIndexByX: function getIndexByX(x, basedX) {
                                    var $$ = this;
                                    return basedX ? basedX.indexOf(isString(x) ? x : +x) : ($$.filterByX($$.data.targets, x)[0] || { index: null }).index;
                                },
                                getXValue: function getXValue(id, i) {
                                    var $$ = this;
                                    return id in $$.data.xs && $$.data.xs[id] && isValue($$.data.xs[id][i]) ? $$.data.xs[id][i] : i;
                                },
                                getOtherTargetXs: function getOtherTargetXs() {
                                    var $$ = this, idsForX = Object.keys($$.data.xs);
                                    return idsForX.length ? $$.data.xs[idsForX[0]] : null;
                                },
                                getOtherTargetX: function getOtherTargetX(index) {
                                    var xs = this.getOtherTargetXs();
                                    return xs && index < xs.length ? xs[index] : null;
                                },
                                addXs: function addXs(xs) {
                                    var $$ = this;
                                    Object.keys(xs).forEach(function (id) {
                                        $$.config.data_xs[id] = xs[id];
                                    });
                                },
                                isMultipleX: function isMultipleX() {
                                    return notEmpty(this.config.data_xs) || !this.config.data_xSort || this.hasType('bubble') || this.hasType('scatter');
                                },
                                addName: function addName(data) {
                                    var name, $$ = this;
                                    return data && (name = $$.config.data_names[data.id], data.name = name === undefined ? data.id : name), data;
                                },
                                getAllValuesOnIndex: function getAllValuesOnIndex(index) {
                                    var $$ = this;
                                    return $$.filterTargetsToShow($$.data.targets).map(function (t) {
                                        return $$.addName($$.getValueOnIndex(t.values, index));
                                    });
                                },
                                getValueOnIndex: function getValueOnIndex(values, index) {
                                    var valueOnIndex = values.filter(function (v) {
                                        return v.index === index;
                                    });
                                    return valueOnIndex.length ? valueOnIndex[0] : null;
                                },
                                updateTargetX: function updateTargetX(targets, x) {
                                    var $$ = this;
                                    targets.forEach(function (t) {
                                        t.values.forEach(function (v, i) {
                                            v.x = $$.generateTargetX(x[i], t.id, i);
                                        }), $$.data.xs[t.id] = x;
                                    });
                                },
                                updateTargetXs: function updateTargetXs(targets, xs) {
                                    var $$ = this;
                                    targets.forEach(function (t) {
                                        xs[t.id] && $$.updateTargetX([t], xs[t.id]);
                                    });
                                },
                                generateTargetX: function generateTargetX(rawX, id, index) {
                                    var $$ = this, x = $$.isCategorized() ? index : rawX || index;
                                    return $$.isTimeSeries() ? x = rawX ? $$.parseDate(rawX) : $$.parseDate($$.getXValue(id, index)) : $$.isCustomX() && !$$.isCategorized() && (x = isValue(rawX) ? +rawX : $$.getXValue(id, index)), x;
                                },
                                cloneTarget: function cloneTarget(target) {
                                    return {
                                        id: target.id,
                                        id_org: target.id_org,
                                        values: target.values.map(function (d) {
                                            return {
                                                x: d.x,
                                                value: d.value,
                                                id: d.id
                                            };
                                        })
                                    };
                                },
                                updateXs: function updateXs(values) {
                                    values.length && (this.xs = values.map(function (v) {
                                        return v.x;
                                    }));
                                },
                                getPrevX: function getPrevX(i) {
                                    var x = this.xs[i - 1];
                                    return isDefined(x) ? x : null;
                                },
                                getNextX: function getNextX(i) {
                                    var x = this.xs[i + 1];
                                    return isDefined(x) ? x : null;
                                },
                                getBaseValue: function getBaseValue(data) {
                                    var $$ = this, value = data.value;
                                    return value && ($$.isAreaRangeType(data) ? value = $$.getAreaRangeData(data, 'mid') : $$.isBubbleZType(data) && (value = $$.getBubbleZData(value, 'y'))), value;
                                },
                                getMinMaxValue: function getMinMaxValue(data) {
                                    var min, max, getBaseValue = this.getBaseValue.bind(this);
                                    return (data || this.data.targets.map(function (t) {
                                        return t.values;
                                    })).forEach(function (v, i) {
                                        var value = v.map(getBaseValue).filter(isNumber);
                                        min = Math.min.apply(Math, [i ? min : Infinity].concat(_toConsumableArray(value))), max = Math.max.apply(Math, [i ? max : -Infinity].concat(_toConsumableArray(value)));
                                    }), {
                                        min: min,
                                        max: max
                                    };
                                },
                                getMinMaxData: function getMinMaxData() {
                                    var $$ = this, cacheKey = '$minMaxData', minMaxData = $$.getCache(cacheKey);
                                    if (!minMaxData) {
                                        var data = $$.data.targets.map(function (t) {
                                                return t.values;
                                            }), minMax = $$.getMinMaxValue(data), min = [], max = [];
                                        data.forEach(function (v) {
                                            var minData = $$.getFilteredDataByValue(v, minMax.min), maxData = $$.getFilteredDataByValue(v, minMax.max);
                                            minData.length && (min = min.concat(minData)), maxData.length && (max = max.concat(maxData));
                                        }), $$.addCache(cacheKey, minMaxData = {
                                            min: min,
                                            max: max
                                        });
                                    }
                                    return minMaxData;
                                },
                                getTotalPerIndex: function getTotalPerIndex() {
                                    var $$ = this, sum = $$.getCache('$totalPerIndex');
                                    return $$.isStackNormalized() && !sum && (sum = [], $$.data.targets.forEach(function (row) {
                                        row.values.forEach(function (v, i) {
                                            sum[i] || (sum[i] = 0), sum[i] += isNumber(v.value) ? v.value : 0;
                                        });
                                    })), sum;
                                },
                                getTotalDataSum: function getTotalDataSum(subtractHidden) {
                                    var $$ = this, cacheKey = '$totalDataSum', total = $$.getCache(cacheKey);
                                    if (!isNumber(total)) {
                                        var sum = mergeArray($$.data.targets.map(function (t) {
                                            return t.values;
                                        })).map(function (v) {
                                            return v.value;
                                        }).reduce(function (p, c) {
                                            return p + c;
                                        });
                                        $$.addCache(cacheKey, total = sum);
                                    }
                                    return subtractHidden && (total -= $$.getHiddenTotalDataSum()), total;
                                },
                                getHiddenTotalDataSum: function getHiddenTotalDataSum() {
                                    var $$ = this, api = $$.api, hiddenTargetIds = $$.hiddenTargetIds, total = 0;
                                    return hiddenTargetIds.length && (total = api.data.values.bind(api)(hiddenTargetIds).reduce(function (p, c) {
                                        return p + c;
                                    })), total;
                                },
                                getFilteredDataByValue: function getFilteredDataByValue(data, value) {
                                    var _this = this;
                                    return data.filter(function (t) {
                                        return _this.getBaseValue(t) === value;
                                    });
                                },
                                getMaxDataCount: function getMaxDataCount() {
                                    return Math.max.apply(Math, _toConsumableArray(this.data.targets.map(function (t) {
                                        return t.values.length;
                                    })));
                                },
                                getMaxDataCountTarget: function getMaxDataCountTarget() {
                                    var target = this.filterTargetsToShow() || [], length = target.length;
                                    return length > 1 ? (target = target.map(function (t) {
                                        return t.values;
                                    }).reduce(function (a, b) {
                                        return a.concat(b);
                                    }).map(function (v) {
                                        return v.x;
                                    }), target = sortValue(getUnique(target)).map(function (x, index) {
                                        return {
                                            x: x,
                                            index: index
                                        };
                                    })) : length && (target = target[0].values), target;
                                },
                                mapToIds: function mapToIds(targets) {
                                    return targets.map(function (d) {
                                        return d.id;
                                    });
                                },
                                mapToTargetIds: function mapToTargetIds(ids) {
                                    var $$ = this;
                                    return ids ? isArray(ids) ? ids.concat() : [ids] : $$.mapToIds($$.data.targets);
                                },
                                hasTarget: function hasTarget(targets, id) {
                                    var ids = this.mapToIds(targets);
                                    for (var val, i = 0; val = ids[i]; i++)
                                        if (val === id)
                                            return !0;
                                    return !1;
                                },
                                isTargetToShow: function isTargetToShow(targetId) {
                                    return this.hiddenTargetIds.indexOf(targetId) < 0;
                                },
                                isLegendToShow: function isLegendToShow(targetId) {
                                    return this.hiddenLegendIds.indexOf(targetId) < 0;
                                },
                                filterTargetsToShow: function filterTargetsToShow(targets) {
                                    var $$ = this;
                                    return (targets || $$.data.targets).filter(function (t) {
                                        return $$.isTargetToShow(t.id);
                                    });
                                },
                                mapTargetsToUniqueXs: function mapTargetsToUniqueXs(targets) {
                                    var $$ = this, xs = [];
                                    return targets && targets.length && (xs = getUnique(mergeArray(targets.map(function (t) {
                                        return t.values.map(function (v) {
                                            return +v.x;
                                        });
                                    }))), xs = $$.isTimeSeries() ? xs.map(function (x) {
                                        return new Date(+x);
                                    }) : xs.map(function (x) {
                                        return +x;
                                    })), sortValue(xs);
                                },
                                addHiddenTargetIds: function addHiddenTargetIds(targetIds) {
                                    this.hiddenTargetIds = this.hiddenTargetIds.concat(targetIds);
                                },
                                removeHiddenTargetIds: function removeHiddenTargetIds(targetIds) {
                                    this.hiddenTargetIds = this.hiddenTargetIds.filter(function (id) {
                                        return targetIds.indexOf(id) < 0;
                                    });
                                },
                                addHiddenLegendIds: function addHiddenLegendIds(targetIds) {
                                    this.hiddenLegendIds = this.hiddenLegendIds.concat(targetIds);
                                },
                                removeHiddenLegendIds: function removeHiddenLegendIds(targetIds) {
                                    this.hiddenLegendIds = this.hiddenLegendIds.filter(function (id) {
                                        return targetIds.indexOf(id) < 0;
                                    });
                                },
                                getValuesAsIdKeyed: function getValuesAsIdKeyed(targets) {
                                    var $$ = this, ys = {}, isMultipleX = $$.isMultipleX(), xs = isMultipleX ? $$.mapTargetsToUniqueXs(targets).map(function (v) {
                                            return isString(v) ? v : +v;
                                        }) : null;
                                    return targets.forEach(function (t) {
                                        var data = [];
                                        t.values.forEach(function (v) {
                                            var value = v.value;
                                            isArray(value) ? data.push.apply(data, _toConsumableArray(value)) : isObject(value) && 'high' in value ? data.push.apply(data, _toConsumableArray(Object.values(value))) : $$.isBubbleZType(v) ? data.push($$.getBubbleZData(value, 'y')) : isMultipleX ? data[$$.getIndexByX(v.x, xs)] = value : data.push(value);
                                        }), ys[t.id] = data;
                                    }), ys;
                                },
                                checkValueInTargets: function checkValueInTargets(targets, checker) {
                                    var values, ids = Object.keys(targets);
                                    for (var i = 0; i < ids.length; i++) {
                                        values = targets[ids[i]].values;
                                        for (var j = 0; j < values.length; j++)
                                            if (checker(values[j].value))
                                                return !0;
                                    }
                                    return !1;
                                },
                                hasMultiTargets: function hasMultiTargets() {
                                    return this.filterTargetsToShow().length > 1;
                                },
                                hasNegativeValueInTargets: function hasNegativeValueInTargets(targets) {
                                    return this.checkValueInTargets(targets, function (v) {
                                        return v < 0;
                                    });
                                },
                                hasPositiveValueInTargets: function hasPositiveValueInTargets(targets) {
                                    return this.checkValueInTargets(targets, function (v) {
                                        return v > 0;
                                    });
                                },
                                _checkOrder: function _checkOrder(type) {
                                    var config = this.config, order = config.data_order;
                                    return isString(order) && order.toLowerCase() === type;
                                },
                                isOrderDesc: function isOrderDesc() {
                                    return this._checkOrder('desc');
                                },
                                isOrderAsc: function isOrderAsc() {
                                    return this._checkOrder('asc');
                                },
                                orderTargets: function orderTargets(targetsValue) {
                                    var $$ = this, config = $$.config, targets = _toConsumableArray(targetsValue), orderAsc = $$.isOrderAsc(), orderDesc = $$.isOrderDesc();
                                    return orderAsc || orderDesc ? targets.sort(function (t1, t2) {
                                        var reducer = function (p, c) {
                                                return p + Math.abs(c.value);
                                            }, t1Sum = t1.values.reduce(reducer, 0), t2Sum = t2.values.reduce(reducer, 0);
                                        return orderAsc ? t2Sum - t1Sum : t1Sum - t2Sum;
                                    }) : isFunction(config.data_order) && targets.sort(config.data_order), targets;
                                },
                                filterByX: function filterByX(targets, x) {
                                    return mergeArray(targets.map(function (t) {
                                        return t.values;
                                    })).filter(function (v) {
                                        return v.x - x === 0;
                                    });
                                },
                                filterRemoveNull: function filterRemoveNull(data) {
                                    var _this2 = this;
                                    return data.filter(function (d) {
                                        return isValue(_this2.getBaseValue(d));
                                    });
                                },
                                filterByXDomain: function filterByXDomain(targets, xDomain) {
                                    return targets.map(function (t) {
                                        return {
                                            id: t.id,
                                            id_org: t.id_org,
                                            values: t.values.filter(function (v) {
                                                return xDomain[0] <= v.x && v.x <= xDomain[1];
                                            })
                                        };
                                    });
                                },
                                hasDataLabel: function hasDataLabel() {
                                    var dataLabels = this.config.data_labels;
                                    return isBoolean(dataLabels) && dataLabels || isObjectType(dataLabels) && notEmpty(dataLabels);
                                },
                                getDataLabelLength: function getDataLabelLength(min, max, key) {
                                    var $$ = this, lengths = [
                                            0,
                                            0
                                        ];
                                    return $$.selectChart.select('svg').selectAll('.dummy').data([
                                        min,
                                        max
                                    ]).enter().append('text').text(function (d) {
                                        return $$.dataLabelFormat(d.id)(d);
                                    }).each(function (d, i) {
                                        lengths[i] = this.getBoundingClientRect()[key] * 1.3;
                                    }).remove(), lengths;
                                },
                                isNoneArc: function isNoneArc(d) {
                                    return this.hasTarget(this.data.targets, d.id);
                                },
                                isArc: function isArc(d) {
                                    return 'data' in d && this.hasTarget(this.data.targets, d.data.id);
                                },
                                findSameXOfValues: function findSameXOfValues(values, index) {
                                    var i, targetX = values[index].x, sames = [];
                                    for (i = index - 1; i >= 0 && !(targetX !== values[i].x); i--)
                                        sames.push(values[i]);
                                    for (i = index; i < values.length && !(targetX !== values[i].x); i++)
                                        sames.push(values[i]);
                                    return sames;
                                },
                                findClosestFromTargets: function findClosestFromTargets(targets, pos) {
                                    var $$ = this, candidates = targets.map(function (target) {
                                            return $$.findClosest(target.values, pos);
                                        });
                                    return $$.findClosest(candidates, pos);
                                },
                                findClosest: function findClosest(values, pos) {
                                    var closest, $$ = this, data = values.filter(function (v) {
                                            return v && isValue(v.value);
                                        }), minDist = $$.config.point_sensitivity;
                                    return data.filter(function (v) {
                                        return $$.isBarType(v.id);
                                    }).forEach(function (v) {
                                        var shape = $$.main.select('.'.concat(config_classes.bars).concat($$.getTargetSelectorSuffix(v.id), ' .').concat(config_classes.bar, '-').concat(v.index)).node();
                                        !closest && $$.isWithinBar(shape) && (closest = v);
                                    }), data.filter(function (v) {
                                        return !$$.isBarType(v.id);
                                    }).forEach(function (v) {
                                        var d = $$.dist(v, pos);
                                        d < minDist && (minDist = d, closest = v);
                                    }), closest;
                                },
                                dist: function dist(data, pos) {
                                    var $$ = this, isRotated = $$.config.axis_rotated, xIndex = isRotated ? 1 : 0, yIndex = isRotated ? 0 : 1, y = $$.circleY(data, data.index), x = ($$.zoomScale || $$.x)(data.x);
                                    return Math.sqrt(Math.pow(x - pos[xIndex], 2) + Math.pow(y - pos[yIndex], 2));
                                },
                                convertValuesToStep: function convertValuesToStep(values) {
                                    var $$ = this, config = $$.config, isRotated = config.axis_rotated, stepType = config.line_step_type, isCategorized = $$.isCategorized(), converted = isArray(values) ? values.concat() : [values];
                                    if (!isRotated && !isCategorized)
                                        return values;
                                    var id = converted[0].id, x = converted[0].x - 1, value = converted[0].value;
                                    return isCategorized && converted.unshift({
                                        x: x,
                                        value: value,
                                        id: id
                                    }), stepType === 'step-after' && converted.unshift({
                                        x: x - 1,
                                        value: value,
                                        id: id
                                    }), x = converted.length - 1, value = converted[x].value, isCategorized && converted.push({
                                        x: x,
                                        value: value,
                                        id: id
                                    }), stepType === 'step-before' && converted.push({
                                        x: x + 1,
                                        value: value,
                                        id: id
                                    }), converted;
                                },
                                convertValuesToRange: function convertValuesToRange(values) {
                                    var converted = isArray(values) ? values.concat() : [values], ranges = [];
                                    return converted.forEach(function (range) {
                                        var x = range.x, id = range.id;
                                        ranges.push({
                                            x: x,
                                            id: id,
                                            value: range.value[0]
                                        }), ranges.push({
                                            x: x,
                                            id: id,
                                            value: range.value[2]
                                        });
                                    }), ranges;
                                },
                                updateDataAttributes: function updateDataAttributes(name, attrs) {
                                    var $$ = this, config = $$.config, current = config['data_'.concat(name)];
                                    return isUndefined(attrs) ? current : (Object.keys(attrs).forEach(function (id) {
                                        current[id] = attrs[id];
                                    }), $$.redraw({ withLegend: !0 }), current);
                                },
                                getAreaRangeData: function getAreaRangeData(d, type) {
                                    var value = d.value;
                                    if (isArray(value)) {
                                        var index = [
                                            'high',
                                            'mid',
                                            'low'
                                        ].indexOf(type);
                                        return index === -1 ? null : value[index];
                                    }
                                    return value[type];
                                },
                                getRatio: function getRatio(type, d, asPercent) {
                                    var $$ = this, config = $$.config, api = $$.api, ratio = 0;
                                    if (d && api.data.shown.call(api).length)
                                        if (ratio = d.ratio || d.value, type === 'arc')
                                            ratio = $$.pie.padAngle()() ? d.value / $$.getTotalDataSum(!0) : (d.endAngle - d.startAngle) / (Math.PI * ($$.hasType('gauge') && !config.gauge_fullCircle ? 1 : 2));
                                        else if (type === 'index') {
                                            var dataValues = api.data.values.bind(api), total = this.getTotalPerIndex();
                                            if ($$.hiddenTargetIds.length) {
                                                var hiddenSum = dataValues($$.hiddenTargetIds, !1);
                                                hiddenSum.length && (hiddenSum = hiddenSum.reduce(function (acc, curr) {
                                                    return acc.map(function (v, i) {
                                                        return (isNumber(v) ? v : 0) + curr[i];
                                                    });
                                                }), total = total.map(function (v, i) {
                                                    return v - hiddenSum[i];
                                                }));
                                            }
                                            d.ratio = isNumber(d.value) && total && total[d.index] > 0 ? d.value / total[d.index] : 0, ratio = d.ratio;
                                        } else
                                            type === 'radar' && (ratio = parseFloat(Math.max(d.value, 0)) / $$.maxValue * config.radar_size_ratio);
                                    return asPercent && ratio ? ratio * 100 : ratio;
                                },
                                updateDataIndexByX: function updateDataIndexByX(tickValues) {
                                    var $$ = this, tickValueMap = tickValues.reduce(function (out, tick, index) {
                                            return out[+tick.x] = index, out;
                                        }, {});
                                    $$.data.targets.forEach(function (t) {
                                        t.values.forEach(function (value, valueIndex) {
                                            var index = tickValueMap[+value.x];
                                            index === undefined && (index = valueIndex), value.index = index;
                                        });
                                    });
                                }
                            });
                            var external_commonjs_d3_dsv_commonjs2_d3_dsv_amd_d3_dsv_root_d3_ = __webpack_require__(8);
                            var convertCsvTsvToData = function (parser, xsv) {
                                var d, rows = parser.rows(xsv);
                                return rows.length === 1 ? (d = [{}], rows[0].forEach(function (id) {
                                    d[0][id] = null;
                                })) : d = parser.parse(xsv), d;
                            };
                            extend(ChartInternal_ChartInternal.prototype, {
                                convertData: function convertData(args, callback) {
                                    var data, $$ = this;
                                    if (args.bindto ? (data = {}, [
                                            'url',
                                            'mimeType',
                                            'headers',
                                            'keys',
                                            'json',
                                            'keys',
                                            'rows',
                                            'columns'
                                        ].forEach(function (v) {
                                            var key = 'data_'.concat(v);
                                            key in args && (data[v] = args[key]);
                                        })) : data = args, data.url && callback)
                                        $$.convertUrlToData(data.url, data.mimeType, data.headers, data.keys, callback);
                                    else if (data.json)
                                        data = $$.convertJsonToData(data.json, data.keys);
                                    else if (data.rows)
                                        data = $$.convertRowsToData(data.rows);
                                    else if (data.columns)
                                        data = $$.convertColumnsToData(data.columns);
                                    else if (args.bindto)
                                        throw Error('url or json or rows or columns is required.');
                                    return isArray(data) && data;
                                },
                                convertUrlToData: function convertUrlToData(url) {
                                    var _this = this, mimeType = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'csv', headers = arguments.length > 2 ? arguments[2] : undefined, keys = arguments.length > 3 ? arguments[3] : undefined, done = arguments.length > 4 ? arguments[4] : undefined, req = new XMLHttpRequest();
                                    req.open('GET', url), headers && Object.keys(headers).forEach(function (key) {
                                        req.setRequestHeader(key, headers[key]);
                                    }), req.onreadystatechange = function () {
                                        if (req.readyState === 4)
                                            if (req.status === 200) {
                                                var response = req.responseText;
                                                response && done.call(_this, _this['convert'.concat(capitalize(mimeType), 'ToData')](mimeType === 'json' ? JSON.parse(response) : response, keys));
                                            } else
                                                throw new Error(''.concat(url, ': Something went wrong loading!'));
                                    }, req.send();
                                },
                                convertCsvToData: function convertCsvToData(xsv) {
                                    return convertCsvTsvToData({
                                        rows: external_commonjs_d3_dsv_commonjs2_d3_dsv_amd_d3_dsv_root_d3_['csvParseRows'],
                                        parse: external_commonjs_d3_dsv_commonjs2_d3_dsv_amd_d3_dsv_root_d3_['csvParse']
                                    }, xsv);
                                },
                                convertTsvToData: function convertTsvToData(tsv) {
                                    return convertCsvTsvToData({
                                        rows: external_commonjs_d3_dsv_commonjs2_d3_dsv_amd_d3_dsv_root_d3_['tsvParseRows'],
                                        parse: external_commonjs_d3_dsv_commonjs2_d3_dsv_amd_d3_dsv_root_d3_['tsvParse']
                                    }, tsv);
                                },
                                convertJsonToData: function convertJsonToData(json, keysParam) {
                                    var targetKeys, data, _this2 = this, config = this.config, newRows = [];
                                    if (isArray(json)) {
                                        var keys = keysParam || config.data_keys;
                                        keys.x ? (targetKeys = keys.value.concat(keys.x), config.data_x = keys.x) : targetKeys = keys.value, newRows.push(targetKeys), json.forEach(function (o) {
                                            var newRow = targetKeys.map(function (key) {
                                                var v = _this2.findValueInJson(o, key);
                                                return isUndefined(v) && (v = null), v;
                                            });
                                            newRows.push(newRow);
                                        }), data = this.convertRowsToData(newRows);
                                    } else
                                        Object.keys(json).forEach(function (key) {
                                            var tmp = json[key].concat();
                                            tmp.unshift(key), newRows.push(tmp);
                                        }), data = this.convertColumnsToData(newRows);
                                    return data;
                                },
                                findValueInJson: function findValueInJson(object, path) {
                                    if (object[path] !== undefined)
                                        return object[path];
                                    var convertedPath = path.replace(/\[(\w+)\]/g, '.$1'), pathArray = convertedPath.replace(/^\./, '').split('.'), target = object;
                                    return pathArray.some(function (k) {
                                        return !(target = target && k in target ? target[k] : undefined);
                                    }), target;
                                },
                                convertRowsToData: function convertRowsToData(rows) {
                                    var keys = rows[0], newRows = [];
                                    return rows.forEach(function (row, i) {
                                        if (i > 0) {
                                            var newRow = {};
                                            row.forEach(function (v, j) {
                                                if (isUndefined(v))
                                                    throw new Error('Source data is missing a component at ('.concat(i, ', ').concat(j, ')!'));
                                                newRow[keys[j]] = v;
                                            }), newRows.push(newRow);
                                        }
                                    }), newRows;
                                },
                                convertColumnsToData: function convertColumnsToData(columns) {
                                    var newRows = [];
                                    return columns.forEach(function (col, i) {
                                        var key = col[0];
                                        col.forEach(function (v, j) {
                                            if (j > 0) {
                                                if (isUndefined(newRows[j - 1]) && (newRows[j - 1] = {}), isUndefined(v))
                                                    throw new Error('Source data is missing a component at ('.concat(i, ', ').concat(j, ')!'));
                                                newRows[j - 1][key] = v;
                                            }
                                        });
                                    }), newRows;
                                },
                                convertDataToTargets: function convertDataToTargets(data, appendXs) {
                                    var xsData, _this3 = this, $$ = this, config = $$.config, isTimeSeries = $$.isTimeSeries(), dataKeys = Object.keys(data[0] || {}), ids = dataKeys.length ? dataKeys.filter($$.isNotX, $$) : [], xs = dataKeys.length ? dataKeys.filter($$.isX, $$) : [];
                                    ids.forEach(function (id) {
                                        var xKey = _this3.getXKey(id);
                                        _this3.isCustomX() || isTimeSeries ? xs.indexOf(xKey) >= 0 ? xsData = (appendXs && $$.data.xs[id] || []).concat(data.map(function (d) {
                                            return d[xKey];
                                        }).filter(isValue).map(function (rawX, i) {
                                            return $$.generateTargetX(rawX, id, i);
                                        })) : config.data_x ? xsData = _this3.getOtherTargetXs() : notEmpty(config.data_xs) && (xsData = $$.getXValuesOfXKey(xKey, $$.data.targets)) : xsData = data.map(function (d, i) {
                                            return i;
                                        }), xsData && (_this3.data.xs[id] = xsData);
                                    }), ids.forEach(function (id) {
                                        if (!_this3.data.xs[id])
                                            throw new Error('x is not defined for id = "'.concat(id, '".'));
                                    });
                                    var targets = ids.map(function (id, index) {
                                        var convertedId = config.data_idConverter(id), xKey = $$.getXKey(id), isCategorized = $$.isCustomX() && $$.isCategorized(), hasCategory = isCategorized && data.map(function (v) {
                                                return v.x;
                                            }).every(function (v) {
                                                return config.axis_x_categories.indexOf(v) > -1;
                                            });
                                        return {
                                            id: convertedId,
                                            id_org: id,
                                            values: data.map(function (d, i) {
                                                var x, rawX = d[xKey], value = d[id];
                                                return value = value === null || isNaN(value) || isObject(value) ? isArray(value) || isObject(value) ? value : null : +value, isCategorized && index === 0 && !isUndefined(rawX) ? (!hasCategory && index === 0 && i === 0 && (config.axis_x_categories = []), x = config.axis_x_categories.indexOf(rawX), x === -1 && (x = config.axis_x_categories.length, config.axis_x_categories.push(rawX))) : x = $$.generateTargetX(rawX, id, i), (isUndefined(value) || $$.data.xs[id].length <= i) && (x = undefined), {
                                                    x: x,
                                                    value: value,
                                                    id: convertedId
                                                };
                                            }).filter(function (v) {
                                                return isDefined(v.x);
                                            })
                                        };
                                    });
                                    return targets.forEach(function (t) {
                                        config.data_xSort && (t.values = t.values.sort(function (v1, v2) {
                                            var x1 = v1.x || v1.x === 0 ? v1.x : Infinity, x2 = v2.x || v2.x === 0 ? v2.x : Infinity;
                                            return x1 - x2;
                                        })), t.values.forEach(function (v, i) {
                                            return v.index = i;
                                        }), $$.data.xs[t.id].sort(function (v1, v2) {
                                            return v1 - v2;
                                        });
                                    }), $$.hasNegativeValue = $$.hasNegativeValueInTargets(targets), $$.hasPositiveValue = $$.hasPositiveValueInTargets(targets), config.data_type && $$.setTargetType($$.mapToIds(targets).filter(function (id) {
                                        return !(id in config.data_types);
                                    }), config.data_type), targets.forEach(function (d) {
                                        return $$.addCache(d.id_org, d, !0);
                                    }), targets;
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                load: function load(rawTargets, args) {
                                    var $$ = this, targets = rawTargets;
                                    targets && (args.filter && (targets = targets.filter(args.filter)), (args.type || args.types) && targets.forEach(function (t) {
                                        var type = args.types && args.types[t.id] || args.type;
                                        $$.setTargetType(t.id, type);
                                    }), $$.data.targets.forEach(function (d) {
                                        for (var i = 0; i < targets.length; i++)
                                            if (d.id === targets[i].id) {
                                                d.values = targets[i].values, targets.splice(i, 1);
                                                break;
                                            }
                                    }), $$.data.targets = $$.data.targets.concat(targets)), $$.updateTargets($$.data.targets), $$.redraw({
                                        withUpdateOrgXDomain: !0,
                                        withUpdateXDomain: !0,
                                        withLegend: !0
                                    }), args.done && args.done();
                                },
                                loadFromArgs: function loadFromArgs(args) {
                                    var $$ = this;
                                    if ($$.config) {
                                        $$.resetCache();
                                        var data = args.data || $$.convertData(args, function (d) {
                                            return $$.load($$.convertDataToTargets(d), args);
                                        });
                                        data && $$.load($$.convertDataToTargets(data), args);
                                    }
                                },
                                unload: function unload(rawTargetIds, customDoneCb) {
                                    var $$ = this, done = customDoneCb, targetIds = rawTargetIds;
                                    return $$.resetCache(), done || (done = function () {
                                    }), targetIds = targetIds.filter(function (id) {
                                        return $$.hasTarget($$.data.targets, id);
                                    }), targetIds && targetIds.length !== 0 ? void ($$.svg.selectAll(targetIds.map(function (id) {
                                        return $$.selectorTarget(id);
                                    })).transition().style('opacity', '0').remove().call($$.endall, done), targetIds.forEach(function (id) {
                                        $$.withoutFadeIn[id] = !1, $$.legend && $$.legend.selectAll('.'.concat(config_classes.legendItem).concat($$.getTargetSelectorSuffix(id))).remove(), $$.data.targets = $$.data.targets.filter(function (t) {
                                            return t.id !== id;
                                        });
                                    })) : void done();
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                categoryName: function categoryName(i) {
                                    var config = this.config;
                                    return i < config.axis_x_categories.length ? config.axis_x_categories[i] : i;
                                }
                            });
                            var external_commonjs_d3_drag_commonjs2_d3_drag_amd_d3_drag_root_d3_ = __webpack_require__(9);
                            extend(ChartInternal_ChartInternal.prototype, {
                                initEventRect: function initEventRect() {
                                    var $$ = this;
                                    $$.main.select('.'.concat(config_classes.chart)).append('g').attr('class', config_classes.eventRects).style('fill-opacity', '0');
                                },
                                redrawEventRect: function redrawEventRect() {
                                    var eventRectUpdate, $$ = this, config = $$.config, isMultipleX = $$.isMultipleX(), zoomEnabled = config.zoom_enabled, eventRects = $$.main.select('.'.concat(config_classes.eventRects)).style('cursor', zoomEnabled && zoomEnabled.type !== 'drag' ? config.axis_rotated ? 'ns-resize' : 'ew-resize' : null).classed(config_classes.eventRectsMultiple, isMultipleX).classed(config_classes.eventRectsSingle, !isMultipleX);
                                    if (eventRects.selectAll('.'.concat(config_classes.eventRect)).remove(), $$.eventRect = eventRects.selectAll('.'.concat(config_classes.eventRect)), isMultipleX)
                                        eventRectUpdate = $$.eventRect.data([0]), eventRectUpdate = $$.generateEventRectsForMultipleXs(eventRectUpdate.enter()).merge(eventRectUpdate);
                                    else {
                                        var xAxisTickValues = $$.getMaxDataCountTarget();
                                        $$.updateDataIndexByX(xAxisTickValues), $$.updateXs(xAxisTickValues), $$.updatePointClass(!0), eventRects.datum(xAxisTickValues), $$.eventRect = eventRects.selectAll('.'.concat(config_classes.eventRect)), eventRectUpdate = $$.eventRect.data(function (d) {
                                            return d;
                                        }), eventRectUpdate.exit().remove(), eventRectUpdate = $$.generateEventRectsForSingleX(eventRectUpdate.enter()).merge(eventRectUpdate);
                                    }
                                    $$.eventRect = eventRectUpdate, $$.updateEventRect(eventRectUpdate), $$.inputType !== 'touch' || $$.svg.on('touchstart.eventRect') || $$.hasArcType() || $$.bindTouchOnEventRect(isMultipleX);
                                },
                                bindTouchOnEventRect: function bindTouchOnEventRect(isMultipleX) {
                                    var startPx, $$ = this, config = $$.config, getEventRect = function () {
                                            var touch = external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['event'].changedTouches[0];
                                            return Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(browser_doc.elementFromPoint(touch.clientX, touch.clientY));
                                        }, getIndex = function (eventRect) {
                                            var index = eventRect && eventRect.attr('class') && eventRect.attr('class').replace(new RegExp('('.concat(config_classes.eventRect, '-?|s)'), 'g'), '') * 1;
                                            return (isNaN(index) || index === null) && (index = -1), index;
                                        }, selectRect = function (context) {
                                            if (isMultipleX)
                                                $$.selectRectForMultipleXs(context);
                                            else {
                                                var eventRect = getEventRect(), index = getIndex(eventRect);
                                                $$.callOverOutForTouch(index), index === -1 ? $$.unselectRect() : $$.selectRectForSingle(context, eventRect, index);
                                            }
                                        }, preventDefault = config.interaction_inputType_touch.preventDefault, isPrevented = isBoolean(preventDefault) && preventDefault || !1, preventThreshold = !isNaN(preventDefault) && preventDefault || null, preventEvent = function (event) {
                                            var eventType = event.type, touch = event.changedTouches[0], currentXY = touch['client'.concat(config.axis_rotated ? 'Y' : 'X')];
                                            eventType === 'touchstart' ? isPrevented ? event.preventDefault() : preventThreshold !== null && (startPx = currentXY) : eventType === 'touchmove' && (isPrevented || startPx === !0 || preventThreshold !== null && Math.abs(startPx - currentXY) >= preventThreshold) && (startPx = !0, event.preventDefault());
                                        };
                                    $$.svg.on('touchstart.eventRect touchmove.eventRect', function () {
                                        var eventRect = getEventRect(), event = external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['event'];
                                        if (!eventRect.empty() && eventRect.classed(config_classes.eventRect)) {
                                            if ($$.dragging || $$.flowing || $$.hasArcType() || event.touches.length > 1)
                                                return;
                                            preventEvent(event), selectRect(this);
                                        } else
                                            $$.unselectRect(), $$.callOverOutForTouch();
                                    }, !0).on('touchend.eventRect', function () {
                                        var eventRect = getEventRect();
                                        !eventRect.empty() && eventRect.classed(config_classes.eventRect) && ($$.hasArcType() || !$$.toggleShape || $$.cancelClick) && $$.cancelClick && ($$.cancelClick = !1);
                                    }, !0);
                                },
                                updateEventRect: function updateEventRect(eventRectUpdate) {
                                    var x, y, w, h, $$ = this, config = $$.config, xScale = $$.zoomScale || $$.x, eventRectData = eventRectUpdate || $$.eventRect.data(), isRotated = config.axis_rotated;
                                    if ($$.isMultipleX())
                                        x = 0, y = 0, w = $$.width, h = $$.height;
                                    else {
                                        var rectW, rectX;
                                        if ($$.isCategorized())
                                            rectW = $$.getEventRectWidth(), rectX = function (d) {
                                                return xScale(d.x) - rectW / 2;
                                            };
                                        else {
                                            var getPrevNextX = function (d) {
                                                var index = d.index;
                                                return {
                                                    prev: $$.getPrevX(index),
                                                    next: $$.getNextX(index)
                                                };
                                            };
                                            rectW = function (d) {
                                                var x = getPrevNextX(d);
                                                return x.prev === null && x.next === null ? isRotated ? $$.height : $$.width : (x.prev === null && (x.prev = xScale.domain()[0]), x.next === null && (x.next = xScale.domain()[1]), Math.max(0, (xScale(x.next) - xScale(x.prev)) / 2));
                                            }, rectX = function (d) {
                                                var x = getPrevNextX(d), thisX = d.x;
                                                return x.prev === null && x.next === null ? 0 : (x.prev === null && (x.prev = xScale.domain()[0]), (xScale(thisX) + xScale(x.prev)) / 2);
                                            };
                                        }
                                        x = isRotated ? 0 : rectX, y = isRotated ? rectX : 0, w = isRotated ? $$.width : rectW, h = isRotated ? rectW : $$.height;
                                    }
                                    eventRectData.attr('class', $$.classEvent.bind($$)).attr('x', x).attr('y', y).attr('width', w).attr('height', h);
                                },
                                selectRectForSingle: function selectRectForSingle(context, eventRect, index) {
                                    var $$ = this, config = $$.config, isSelectionEnabled = config.data_selection_enabled, isSelectionGrouped = config.data_selection_grouped, isTooltipGrouped = config.tooltip_grouped, selectedData = $$.getAllValuesOnIndex(index);
                                    isTooltipGrouped && ($$.showTooltip(selectedData, context), $$.showGridFocus(selectedData), !isSelectionEnabled || isSelectionGrouped) || $$.main.selectAll('.'.concat(config_classes.shape, '-').concat(index)).each(function () {
                                        Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this).classed(config_classes.EXPANDED, !0), isSelectionEnabled && eventRect.style('cursor', isSelectionGrouped ? 'pointer' : null), isTooltipGrouped || ($$.hideGridFocus(), $$.hideTooltip(), !isSelectionGrouped && $$.expandCirclesBars(index));
                                    }).filter(function (d) {
                                        return $$.isWithinShape(this, d);
                                    }).call(function (selected) {
                                        var d = selected.data();
                                        isSelectionEnabled && (isSelectionGrouped || config.data_selection_isselectable(d)) && eventRect.style('cursor', 'pointer'), isTooltipGrouped || ($$.showTooltip(d, context), $$.showGridFocus(d), $$.unexpandCircles(), selected.each(function (d) {
                                            return $$.expandCirclesBars(index, d.id);
                                        }));
                                    });
                                },
                                expandCirclesBars: function expandCirclesBars(index, id, reset) {
                                    var $$ = this, config = $$.config;
                                    config.point_focus_expand_enabled && $$.expandCircles(index, id, reset), $$.expandBars(index, id, reset);
                                },
                                selectRectForMultipleXs: function selectRectForMultipleXs(context) {
                                    var $$ = this, config = $$.config, targetsToShow = $$.filterTargetsToShow($$.data.targets);
                                    if (!($$.dragging || $$.hasArcType(targetsToShow))) {
                                        var mouse = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['mouse'])(context), closest = $$.findClosestFromTargets(targetsToShow, mouse);
                                        if ($$.mouseover && (!closest || closest.id !== $$.mouseover.id) && (config.data_onout.call($$.api, $$.mouseover), $$.mouseover = undefined), !closest)
                                            return void $$.unselectRect();
                                        var sameXData = $$.isBubbleType(closest) || $$.isScatterType(closest) || !config.tooltip_grouped ? [closest] : $$.filterByX(targetsToShow, closest.x), selectedData = sameXData.map(function (d) {
                                                return $$.addName(d);
                                            });
                                        $$.showTooltip(selectedData, context), $$.expandCirclesBars(closest.index, closest.id, !0), $$.showGridFocus(selectedData), ($$.isBarType(closest.id) || $$.dist(closest, mouse) < config.point_sensitivity) && ($$.svg.select('.'.concat(config_classes.eventRect)).style('cursor', 'pointer'), !$$.mouseover && (config.data_onover.call($$.api, closest), $$.mouseover = closest));
                                    }
                                },
                                unselectRect: function unselectRect() {
                                    var $$ = this;
                                    $$.svg.select('.'.concat(config_classes.eventRect)).style('cursor', null), $$.hideGridFocus(), $$.hideTooltip(), $$._handleLinkedCharts(!1), $$.unexpandCircles(), $$.unexpandBars();
                                },
                                setOverOut: function setOverOut(isOver, d) {
                                    var $$ = this, config = $$.config, isArc = isObject(d);
                                    if (isArc || d !== -1) {
                                        var callback = config[isOver ? 'data_onover' : 'data_onout'].bind($$.api);
                                        if (config.color_onover && $$.setOverColor(isOver, d, isArc), isArc)
                                            callback(d, $$.main.select('.'.concat(config_classes.arc).concat($$.getTargetSelectorSuffix(d.id))).node());
                                        else if (!config.tooltip_grouped) {
                                            var callee = $$.setOverOut, last = callee.last || [], shape = $$.main.selectAll('.'.concat(config_classes.shape, '-').concat(d)).filter(function (d) {
                                                    return $$.isWithinShape(this, d);
                                                });
                                            shape.each(function (d) {
                                                var _this = this;
                                                (last.length === 0 || last.every(function (v) {
                                                    return v !== _this;
                                                })) && (callback(d, this), last.push(this));
                                            }), last.length > 0 && shape.empty() && (callback = config.data_onout.bind($$.api), last.forEach(function (v) {
                                                return callback(Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(v).datum(), v);
                                            }), last = []), callee.last = last;
                                        } else
                                            isOver && $$.expandCirclesBars(d, null, !0), $$.isMultipleX() || $$.main.selectAll('.'.concat(config_classes.shape, '-').concat(d)).each(function (d) {
                                                callback(d, this);
                                            });
                                    }
                                },
                                callOverOutForTouch: function callOverOutForTouch(d) {
                                    var $$ = this, callee = $$.callOverOutForTouch, last = callee.last;
                                    (isObject(d) && last ? d.id !== last.id : d !== last) && ((last || isNumber(last)) && $$.setOverOut(!1, last), (d || isNumber(d)) && $$.setOverOut(!0, d), callee.last = d);
                                },
                                getDraggableSelection: function getDraggableSelection() {
                                    var $$ = this, config = $$.config;
                                    return config.interaction_enabled && config.data_selection_draggable && $$.drag ? Object(external_commonjs_d3_drag_commonjs2_d3_drag_amd_d3_drag_root_d3_['drag'])().on('drag', function () {
                                        $$.drag(Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['mouse'])(this));
                                    }).on('start', function () {
                                        $$.dragstart(Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['mouse'])(this));
                                    }).on('end', function () {
                                        $$.dragend();
                                    }) : function () {
                                    };
                                },
                                generateEventRectsForSingleX: function generateEventRectsForSingleX(eventRectEnter) {
                                    var $$ = this, config = $$.config, rect = eventRectEnter.append('rect').attr('class', $$.classEvent.bind($$)).style('cursor', config.data_selection_enabled && config.data_selection_grouped ? 'pointer' : null).on('click', function (d) {
                                            $$.clickHandlerForSingleX.bind(this)(d, $$);
                                        }).call($$.getDraggableSelection());
                                    return $$.inputType === 'mouse' && rect.on('mouseover', function (d) {
                                        $$.dragging || $$.flowing || $$.hasArcType() || $$.config.tooltip_grouped && $$.setOverOut(!0, d.index);
                                    }).on('mousemove', function (d) {
                                        if (!($$.dragging || $$.flowing || $$.hasArcType())) {
                                            var index = d.index, eventRect = $$.svg.select('.'.concat(config_classes.eventRect, '-').concat(index));
                                            $$.isStepType(d) && $$.config.line_step_type === 'step-after' && Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['mouse'])(this)[0] < $$.x($$.getXValue(d.id, index)) && (index -= 1), index === -1 ? $$.unselectRect() : $$.selectRectForSingle(this, eventRect, index), $$.config.tooltip_grouped || $$.setOverOut(index !== -1, d.index);
                                        }
                                    }).on('mouseout', function (d) {
                                        !$$.config || $$.hasArcType() || ($$.unselectRect(), $$.setOverOut(!1, d.index));
                                    }), rect;
                                },
                                clickHandlerForSingleX: function clickHandlerForSingleX(d, ctx) {
                                    var $$ = ctx, config = $$.config;
                                    if ($$.hasArcType() || !$$.toggleShape || $$.cancelClick)
                                        return void ($$.cancelClick && ($$.cancelClick = !1));
                                    var index = d.index;
                                    $$.main.selectAll('.'.concat(config_classes.shape, '-').concat(index)).each(function (d2) {
                                        (config.data_selection_grouped || $$.isWithinShape(this, d2)) && ($$.toggleShape(this, d2, index), config.data_onclick.call($$.api, d2, this));
                                    });
                                },
                                generateEventRectsForMultipleXs: function generateEventRectsForMultipleXs(eventRectEnter) {
                                    var $$ = this, rect = eventRectEnter.append('rect').attr('x', 0).attr('y', 0).attr('width', $$.width).attr('height', $$.height).attr('class', config_classes.eventRect).on('click', function () {
                                            $$.clickHandlerForMultipleXS.bind(this)($$);
                                        }).call($$.getDraggableSelection());
                                    return $$.inputType === 'mouse' && rect.on('mouseover mousemove', function () {
                                        $$.selectRectForMultipleXs(this);
                                    }).on('mouseout', function () {
                                        !$$.config || $$.hasArcType() || $$.unselectRect();
                                    }), rect;
                                },
                                clickHandlerForMultipleXS: function clickHandlerForMultipleXS(ctx) {
                                    var $$ = ctx, config = $$.config, targetsToShow = $$.filterTargetsToShow($$.data.targets);
                                    if (!$$.hasArcType(targetsToShow)) {
                                        var mouse = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['mouse'])(this), closest = $$.findClosestFromTargets(targetsToShow, mouse);
                                        !closest || ($$.isBarType(closest.id) || $$.dist(closest, mouse) < config.point_sensitivity) && $$.main.selectAll('.'.concat(config_classes.shapes).concat($$.getTargetSelectorSuffix(closest.id))).selectAll('.'.concat(config_classes.shape, '-').concat(closest.index)).each(function () {
                                            (config.data_selection_grouped || $$.isWithinShape(this, closest)) && ($$.toggleShape(this, closest, closest.index), config.data_onclick.call($$.api, closest, this));
                                        });
                                    }
                                },
                                dispatchEvent: function dispatchEvent(type, index, mouse) {
                                    var $$ = this, isMultipleX = $$.isMultipleX(), selector = '.'.concat(isMultipleX ? config_classes.eventRect : ''.concat(config_classes.eventRect, '-').concat(index)), eventRect = $$.main.select(selector).node(), _eventRect$getBoundin = eventRect.getBoundingClientRect(), width = _eventRect$getBoundin.width, left = _eventRect$getBoundin.left, top = _eventRect$getBoundin.top, x = left + (mouse ? mouse[0] : 0) + (isMultipleX || $$.config.axis_rotated ? 0 : width / 2), y = top + (mouse ? mouse[1] : 0);
                                    emulateEvent[/^(mouse|click)/.test(type) ? 'mouse' : 'touch'](eventRect, type, {
                                        screenX: x,
                                        screenY: y,
                                        clientX: x,
                                        clientY: y
                                    });
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                setContainerSize: function setContainerSize() {
                                    var $$ = this;
                                    $$.currentWidth = $$.getCurrentWidth(), $$.currentHeight = $$.getCurrentHeight();
                                },
                                getCurrentWidth: function getCurrentWidth() {
                                    var $$ = this;
                                    return $$.config.size_width || $$.getParentWidth();
                                },
                                getCurrentHeight: function getCurrentHeight() {
                                    var $$ = this, config = $$.config, h = config.size_height || $$.getParentHeight();
                                    return h > 0 ? h : 320 / ($$.hasType('gauge') && !config.gauge_fullCircle ? 2 : 1);
                                },
                                getAxisSize: function getAxisSize(id) {
                                    var $$ = this, config = $$.config, isRotated = config.axis_rotated;
                                    return isRotated && id === 'x' || !isRotated && /y2?/.test(id) ? $$.getAxisWidthByAxisId(id, !0) : $$.getHorizontalAxisHeight(id);
                                },
                                getCurrentPaddingTop: function getCurrentPaddingTop() {
                                    var $$ = this, config = $$.config, axesLen = config.axis_y2_axes.length, padding = isValue(config.padding_top) ? config.padding_top : 0;
                                    return $$.title && $$.title.node() && (padding += $$.getTitlePadding()), axesLen && config.axis_rotated && (padding += $$.getHorizontalAxisHeight('y2') * axesLen), padding;
                                },
                                getCurrentPaddingBottom: function getCurrentPaddingBottom() {
                                    var $$ = this, config = $$.config, axisId = config.axis_rotated ? 'y' : 'x', axesLen = config['axis_'.concat(axisId, '_axes')].length, padding = isValue(config.padding_bottom) ? config.padding_bottom : 0;
                                    return padding + (axesLen ? $$.getHorizontalAxisHeight(axisId) * axesLen : 0);
                                },
                                getCurrentPaddingLeft: function getCurrentPaddingLeft(withoutRecompute) {
                                    var padding, $$ = this, config = $$.config, isRotated = config.axis_rotated, axisId = isRotated ? 'x' : 'y', axesLen = config['axis_'.concat(axisId, '_axes')].length, axisWidth = $$.getAxisWidthByAxisId(axisId, withoutRecompute);
                                    return padding = isValue(config.padding_left) ? config.padding_left : isRotated ? config.axis_x_show ? Math.max(ceil10(axisWidth), 40) : 1 : !config.axis_y_show || config.axis_y_inner ? $$.axis.getAxisLabelPosition('y').isOuter ? 30 : 1 : ceil10(axisWidth), padding + axisWidth * axesLen;
                                },
                                getCurrentPaddingRight: function getCurrentPaddingRight() {
                                    var padding, withoutTickTextOverflow = !!(arguments.length > 0 && arguments[0] !== undefined) && arguments[0], $$ = this, config = $$.config, defaultPadding = 10, legendWidthOnRight = $$.isLegendRight ? $$.getLegendWidth() + 20 : 0, axesLen = config.axis_y2_axes.length, axisWidth = $$.getAxisWidthByAxisId('y2'), xAxisTickTextOverflow = withoutTickTextOverflow ? 0 : $$.axis.getXAxisTickTextY2Overflow(defaultPadding);
                                    return padding = isValue(config.padding_right) ? config.padding_right + 1 : config.axis_rotated ? defaultPadding + legendWidthOnRight : !config.axis_y2_show || config.axis_y2_inner ? Math.max(2 + legendWidthOnRight + ($$.axis.getAxisLabelPosition('y2').isOuter ? 20 : 0), xAxisTickTextOverflow) : Math.max(ceil10(axisWidth) + legendWidthOnRight, xAxisTickTextOverflow), padding + axisWidth * axesLen;
                                },
                                getParentRectValue: function getParentRectValue(key) {
                                    for (var v, offsetName = 'offset'.concat(capitalize(key)), parent = this.selectChart.node(); !v && parent && parent.tagName !== 'BODY';) {
                                        try {
                                            v = parent.getBoundingClientRect()[key];
                                        } catch (e) {
                                            offsetName in parent && (v = parent[offsetName]);
                                        }
                                        parent = parent.parentNode;
                                    }
                                    if (key === 'width') {
                                        var bodyWidth = browser_doc.body.offsetWidth;
                                        v > bodyWidth && (v = bodyWidth);
                                    }
                                    return v;
                                },
                                getParentWidth: function getParentWidth() {
                                    return this.getParentRectValue('width');
                                },
                                getParentHeight: function getParentHeight() {
                                    var h = this.selectChart.style('height');
                                    return h.indexOf('px') > 0 ? parseInt(h, 10) : 0;
                                },
                                getSvgLeft: function getSvgLeft(withoutRecompute) {
                                    var $$ = this, config = $$.config, hasLeftAxisRect = config.axis_rotated || !config.axis_rotated && !config.axis_y_inner, leftAxisClass = config.axis_rotated ? config_classes.axisX : config_classes.axisY, leftAxis = $$.main.select('.'.concat(leftAxisClass)).node(), svgRect = leftAxis && hasLeftAxisRect ? leftAxis.getBoundingClientRect() : { right: 0 }, chartRect = $$.selectChart.node().getBoundingClientRect(), hasArc = $$.hasArcType(), svgLeft = svgRect.right - chartRect.left - (hasArc ? 0 : $$.getCurrentPaddingLeft(withoutRecompute));
                                    return svgLeft > 0 ? svgLeft : 0;
                                },
                                getAxisWidthByAxisId: function getAxisWidthByAxisId(id, withoutRecompute) {
                                    var $$ = this, position = $$.axis.getLabelPositionById(id);
                                    return $$.axis.getMaxTickWidth(id, withoutRecompute) + (position.isInner ? 20 : 40);
                                },
                                getHorizontalAxisHeight: function getHorizontalAxisHeight(id) {
                                    var $$ = this, config = $$.config, isRotated = config.axis_rotated, h = 30;
                                    if (id === 'x' && !config.axis_x_show)
                                        return 8;
                                    if (id === 'x' && config.axis_x_height)
                                        return config.axis_x_height;
                                    if (id === 'y' && !config.axis_y_show)
                                        return !config.legend_show || $$.isLegendRight || $$.isLegendInset ? 1 : 10;
                                    if (id === 'y2' && !config.axis_y2_show)
                                        return $$.rotated_padding_top;
                                    var rotate = $$.getAxisTickRotate(id);
                                    return (id === 'x' && !isRotated || /y2?/.test(id) && isRotated) && rotate && (h = 30 + $$.axis.getMaxTickWidth(id) * Math.cos(Math.PI * (90 - rotate) / 180), !config.axis_x_tick_multiline && $$.currentHeight && h > $$.currentHeight / 2 && (h = $$.currentHeight / 2)), h + ($$.axis.getLabelPositionById(id).isInner ? 0 : 10) + (id !== 'y2' || isRotated ? 0 : -10);
                                },
                                getEventRectWidth: function getEventRectWidth() {
                                    return Math.max(0, this.xAxis.tickInterval());
                                },
                                getAxisTickRotate: function getAxisTickRotate(id) {
                                    var $$ = this, config = $$.config, rotate = config['axis_'.concat(id, '_tick_rotate')];
                                    if (id === 'x') {
                                        var isCategorized = $$.isCategorized(), isTimeSeries = $$.isTimeSeries(), allowedXAxisTypes = isCategorized || isTimeSeries, tickCount = 0;
                                        config.axis_x_tick_fit && allowedXAxisTypes && ($$.axis.x = {
                                            padding: {
                                                left: 0,
                                                right: 0
                                            },
                                            tickCount: 0
                                        }, tickCount = $$.currentMaxTickWidths.x.ticks.length + (isTimeSeries ? -1 : 1), tickCount !== $$.axis.x.tickCount && ($$.axis.x.padding = $$.axis.getXAxisPadding(tickCount)), $$.axis.x.tickCount = tickCount), $$.svg && config.axis_x_tick_fit && !config.axis_x_tick_multiline && !config.axis_x_tick_culling && config.axis_x_tick_autorotate && allowedXAxisTypes && (rotate = $$.needToRotateXAxisTickTexts() ? config.axis_x_tick_rotate : 0);
                                    }
                                    return rotate;
                                },
                                needToRotateXAxisTickTexts: function needToRotateXAxisTickTexts() {
                                    var $$ = this, xAxisLength = $$.currentWidth - $$.getCurrentPaddingLeft(!1) - $$.getCurrentPaddingRight(!0), tickCountWithPadding = $$.axis.x.tickCount + $$.axis.x.padding.left + $$.axis.x.padding.right, maxTickWidth = $$.axis.getMaxTickWidth('x');
                                    return maxTickWidth > (xAxisLength / tickCountWithPadding || 0);
                                }
                            });
                            var external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_ = __webpack_require__(10);
                            extend(ChartInternal_ChartInternal.prototype, {
                                getShapeIndices: function getShapeIndices(typeFilter) {
                                    var $$ = this, config = $$.config, xs = config.data_xs, hasXs = notEmpty(xs), indices = {}, i = hasXs ? {} : 0;
                                    return hasXs && getUnique(Object.keys(xs).map(function (v) {
                                        return xs[v];
                                    })).forEach(function (v) {
                                        i[v] = 0, indices[v] = {};
                                    }), $$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$)).forEach(function (d) {
                                        for (var groups, xKey = (d.id in xs) ? xs[d.id] : '', ind = xKey ? indices[xKey] : indices, j = 0; groups = config.data_groups[j]; j++)
                                            if (!(groups.indexOf(d.id) < 0))
                                                for (var _row4, _k4 = 0; _row4 = groups[_k4]; _k4++)
                                                    if (_row4 in ind) {
                                                        ind[d.id] = ind[_row4];
                                                        break;
                                                    }
                                        isUndefined(ind[d.id]) && (ind[d.id] = xKey ? i[xKey]++ : i++, ind.__max__ = (xKey ? i[xKey] : i) - 1);
                                    }), indices;
                                },
                                getIndices: function getIndices(indices, id) {
                                    var xs = this.config.data_xs;
                                    return notEmpty(xs) ? indices[xs[id]] : indices;
                                },
                                getIndicesMax: function getIndicesMax(indices) {
                                    return notEmpty(this.config.data_xs) ? Object.keys(indices).map(function (v) {
                                        return indices[v].__max__ || 0;
                                    }).reduce(function (acc, curr) {
                                        return acc + curr;
                                    }) : indices.__max__;
                                },
                                getShapeX: function getShapeX(offset, indices, isSub) {
                                    var $$ = this, scale = isSub ? $$.subX : $$.zoomScale || $$.x, barPadding = $$.config.bar_padding, sum = function (p, c) {
                                            return p + c;
                                        }, halfWidth = isObjectType(offset) && offset.total.length ? offset.total.reduce(sum) / 2 : 0;
                                    return function (d) {
                                        var ind = $$.getIndices(indices, d.id), index = d.id in ind ? ind[d.id] : 0, targetsNum = (ind.__max__ || 0) + 1, x = 0;
                                        if (notEmpty(d.x)) {
                                            var xPos = scale(d.x);
                                            x = halfWidth ? xPos - (offset[d.id] || offset.width) + offset.total.slice(0, index + 1).reduce(sum) - halfWidth : xPos - (isNumber(offset) ? offset : offset.width) * (targetsNum / 2 - index);
                                        }
                                        return offset && x && targetsNum > 1 && barPadding && (index && (x += barPadding * index), targetsNum > 2 ? x -= (targetsNum - 1) * barPadding / 2 : targetsNum === 2 && (x -= barPadding / 2)), x;
                                    };
                                },
                                getShapeY: function getShapeY(isSub) {
                                    var $$ = this, isStackNormalized = $$.isStackNormalized();
                                    return function (d) {
                                        var value = isStackNormalized ? $$.getRatio('index', d, !0) : $$.isBubbleZType(d) ? $$.getBubbleZData(d.value, 'y') : d.value;
                                        return (isSub ? $$.getSubYScale(d.id) : $$.getYScale(d.id))(value);
                                    };
                                },
                                getShapeYMin: function getShapeYMin(id) {
                                    var $$ = this, _$$$$$$axis$getId$dom = $$[$$.axis.getId(id)].domain(), _$$$$$$axis$getId$dom2 = _slicedToArray(_$$$$$$axis$getId$dom, 1), yMin = _$$$$$$axis$getId$dom2[0];
                                    return !$$.isGrouped(id) && yMin > 0 ? yMin : 0;
                                },
                                getShapeOffsetData: function getShapeOffsetData(typeFilter) {
                                    var $$ = this, targets = $$.orderTargets($$.filterTargetsToShow($$.data.targets.filter(typeFilter, $$))), isStackNormalized = $$.isStackNormalized(), shapeOffsetTargets = targets.map(function (target) {
                                            var rowValues = target.values, values = {};
                                            $$.isStepType(target) && (rowValues = $$.convertValuesToStep(rowValues));
                                            var rowValueMapByXValue = rowValues.reduce(function (out, d) {
                                                var key = +d.x;
                                                return out[key] = d, values[key] = isStackNormalized ? $$.getRatio('index', d, !0) : d.value, out;
                                            }, {});
                                            return {
                                                id: target.id,
                                                rowValues: rowValues,
                                                rowValueMapByXValue: rowValueMapByXValue,
                                                values: values
                                            };
                                        }), indexMapByTargetId = targets.reduce(function (out, _ref, index) {
                                            var id = _ref.id;
                                            return out[id] = index, out;
                                        }, {});
                                    return {
                                        indexMapByTargetId: indexMapByTargetId,
                                        shapeOffsetTargets: shapeOffsetTargets
                                    };
                                },
                                getShapeOffset: function getShapeOffset(typeFilter, indices, isSub) {
                                    var $$ = this, _$$$getShapeOffsetDat = $$.getShapeOffsetData(typeFilter), shapeOffsetTargets = _$$$getShapeOffsetDat.shapeOffsetTargets, indexMapByTargetId = _$$$getShapeOffsetDat.indexMapByTargetId;
                                    return function (d, idx) {
                                        var ind = $$.getIndices(indices, d.id), scale = isSub ? $$.getSubYScale(d.id) : $$.getYScale(d.id), y0 = scale($$.getShapeYMin(d.id)), dataXAsNumber = +d.x, offset = y0;
                                        return shapeOffsetTargets.filter(function (t) {
                                            return t.id !== d.id;
                                        }).forEach(function (t) {
                                            if (ind[t.id] === ind[d.id] && indexMapByTargetId[t.id] < indexMapByTargetId[d.id]) {
                                                var row = t.rowValues[idx];
                                                row && +row.x === dataXAsNumber || (row = t.rowValueMapByXValue[dataXAsNumber]), row && row.value * d.value >= 0 && (offset += scale(t.values[dataXAsNumber]) - y0);
                                            }
                                        }), offset;
                                    };
                                },
                                isWithinShape: function isWithinShape(that, d) {
                                    var isWithin, $$ = this, shape = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(that);
                                    return $$.isTargetToShow(d.id) ? $$.hasValidPointType(that.nodeName) ? isWithin = $$.isStepType(d) ? $$.isWithinStep(that, $$.getYScale(d.id)(d.value)) : $$.isWithinCircle(that, $$.isBubbleType(d) ? $$.pointSelectR(d) * 1.5 : 0) : that.nodeName === 'path' && (isWithin = !shape.classed(config_classes.bar) || $$.isWithinBar(that)) : isWithin = !1, isWithin;
                                },
                                getInterpolate: function getInterpolate(d) {
                                    var $$ = this, interpolation = $$.getInterpolateType(d);
                                    return {
                                        'basis': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveBasis'],
                                        'basis-closed': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveBasisClosed'],
                                        'basis-open': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveBasisOpen'],
                                        'bundle': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveBundle'],
                                        'cardinal': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveCardinal'],
                                        'cardinal-closed': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveCardinalClosed'],
                                        'cardinal-open': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveCardinalOpen'],
                                        'catmull-rom': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveCatmullRom'],
                                        'catmull-rom-closed': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveCatmullRomClosed'],
                                        'catmull-rom-open': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveCatmullRomOpen'],
                                        'monotone-x': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveMonotoneX'],
                                        'monotone-y': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveMonotoneY'],
                                        'natural': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveNatural'],
                                        'linear-closed': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveLinearClosed'],
                                        'linear': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveLinear'],
                                        'step': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveStep'],
                                        'step-after': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveStepAfter'],
                                        'step-before': external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['curveStepBefore']
                                    }[interpolation];
                                },
                                getInterpolateType: function getInterpolateType(d) {
                                    var $$ = this, type = $$.config.spline_interpolation_type, interpolation = $$.isInterpolationType(type) ? type : 'cardinal';
                                    return $$.isSplineType(d) ? interpolation : $$.isStepType(d) ? $$.config.line_step_type : 'linear';
                                }
                            });
                            var external_commonjs_d3_interpolate_commonjs2_d3_interpolate_amd_d3_interpolate_root_d3_ = __webpack_require__(11);
                            extend(ChartInternal_ChartInternal.prototype, {
                                initPie: function initPie() {
                                    var $$ = this, config = $$.config, dataType = config.data_type, padding = config.pie_padding, startingAngle = config[''.concat(dataType, '_startingAngle')] || 0, padAngle = ($$.hasType('pie') && padding ? padding * 0.01 : config[''.concat(dataType, '_padAngle')]) || 0;
                                    $$.pie = Object(external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['pie'])().startAngle(startingAngle).endAngle(startingAngle + 2 * Math.PI).padAngle(padAngle).sortValues($$.isOrderAsc() || $$.isOrderDesc() ? function (a, b) {
                                        return $$.isOrderAsc() ? a - b : b - a;
                                    } : null).value(function (d) {
                                        return d.values.reduce(function (a, b) {
                                            return a + b.value;
                                        }, 0);
                                    });
                                },
                                updateRadius: function updateRadius() {
                                    var $$ = this, config = $$.config, radius = config.pie_innerRadius, padding = config.pie_padding, w = config.gauge_width || config.donut_width, gaugeArcWidth = $$.filterTargetsToShow($$.data.targets).length * config.gauge_arcs_minWidth;
                                    $$.radiusExpanded = Math.min($$.arcWidth, $$.arcHeight) / 2 * ($$.hasMultiArcGauge() ? 0.85 : 1), $$.radius = $$.radiusExpanded * 0.95, $$.innerRadiusRatio = w ? ($$.radius - w) / $$.radius : 0.6, $$.gaugeArcWidth = w || (gaugeArcWidth <= $$.radius - $$.innerRadius ? $$.radius - $$.innerRadius : gaugeArcWidth <= $$.radius ? gaugeArcWidth : $$.radius);
                                    var innerRadius = radius || (padding ? padding * ($$.innerRadiusRatio + 0.1) : 0);
                                    $$.innerRadius = $$.hasType('donut') || $$.hasType('gauge') ? $$.radius * $$.innerRadiusRatio : innerRadius;
                                },
                                getInnerRadius: function getInnerRadius(d) {
                                    var $$ = this, radius = $$.innerRadius;
                                    return !isNumber(radius) && d && (radius = radius[d.data.id] || 0), radius;
                                },
                                updateArc: function updateArc() {
                                    var $$ = this;
                                    $$.svgArc = $$.getSvgArc(), $$.svgArcExpanded = $$.getSvgArcExpanded();
                                },
                                updateAngle: function updateAngle(dValue) {
                                    var $$ = this, config = $$.config, pie = $$.pie, d = dValue, found = !1;
                                    if (!config)
                                        return null;
                                    var radius = Math.PI * (config.gauge_fullCircle ? 2 : 1), gStart = config.gauge_startingAngle;
                                    if (d.data && $$.isGaugeType(d.data) && !$$.hasMultiArcGauge()) {
                                        var totalSum = $$.getTotalDataSum($$.rendered);
                                        totalSum > config.gauge_max && (config.gauge_max = totalSum);
                                        var gEnd = radius * (totalSum / (config.gauge_max - config.gauge_min));
                                        pie = pie.startAngle(gStart).endAngle(gEnd + gStart);
                                    }
                                    if (pie($$.filterTargetsToShow()).forEach(function (t, i) {
                                            found || t.data.id !== d.data.id || (found = !0, d = t, d.index = i);
                                        }), isNaN(d.startAngle) && (d.startAngle = 0), isNaN(d.endAngle) && (d.endAngle = d.startAngle), d.data && $$.hasMultiArcGauge()) {
                                        var maxValue = $$.getMinMaxData().max[0].value;
                                        maxValue > config.gauge_max && (config.gauge_max = maxValue);
                                        var gMin = config.gauge_min, gMax = config.gauge_max, gValue = d.value < gMin ? 0 : d.value < gMax ? d.value - gMin : gMax - gMin;
                                        d.startAngle = gStart, d.endAngle = gStart + radius / (gMax - gMin) * gValue;
                                    }
                                    return found ? d : null;
                                },
                                getSvgArc: function getSvgArc() {
                                    var $$ = this, ir = $$.getInnerRadius(), singleArcWidth = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length, hasMultiArcGauge = $$.hasMultiArcGauge(), arc = Object(external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['arc'])().outerRadius(function (d) {
                                            return hasMultiArcGauge ? $$.radius - singleArcWidth * d.index : $$.radius;
                                        }).innerRadius(function (d) {
                                            return hasMultiArcGauge ? $$.radius - singleArcWidth * (d.index + 1) : isNumber(ir) ? ir : 0;
                                        }), newArc = function (d, withoutUpdate) {
                                            var path = 'M 0 0';
                                            if (d.value || d.data) {
                                                isNumber(ir) || (arc = arc.innerRadius($$.getInnerRadius(d)));
                                                var updated = !withoutUpdate && $$.updateAngle(d);
                                                withoutUpdate ? path = arc(d) : updated && (path = arc(updated));
                                            }
                                            return path;
                                        };
                                    return newArc.centroid = arc.centroid, newArc;
                                },
                                getSvgArcExpanded: function getSvgArcExpanded(rate) {
                                    var $$ = this, newRate = rate || 1, singleArcWidth = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length, hasMultiArcGauge = $$.hasMultiArcGauge(), expandWidth = Math.min($$.radiusExpanded * newRate - $$.radius, singleArcWidth * 0.8 - (1 - newRate) * 100), arc = Object(external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['arc'])().outerRadius(function (d) {
                                            return hasMultiArcGauge ? $$.radius - singleArcWidth * d.index + expandWidth : $$.radiusExpanded * newRate;
                                        }).innerRadius(function (d) {
                                            return hasMultiArcGauge ? $$.radius - singleArcWidth * (d.index + 1) : $$.innerRadius;
                                        });
                                    return function (d) {
                                        var updated = $$.updateAngle(d);
                                        return updated ? (hasMultiArcGauge ? arc : arc.innerRadius($$.getInnerRadius(d)))(updated) : 'M 0 0';
                                    };
                                },
                                getArc: function getArc(d, withoutUpdate, force) {
                                    return force || this.isArcType(d.data) ? this.svgArc(d, withoutUpdate) : 'M 0 0';
                                },
                                transformForArcLabel: function transformForArcLabel(d) {
                                    var $$ = this, config = $$.config, updated = $$.updateAngle(d), translate = '';
                                    if (updated)
                                        if ($$.hasMultiArcGauge()) {
                                            var y1 = Math.sin(updated.endAngle - Math.PI / 2), x = Math.cos(updated.endAngle - Math.PI / 2) * ($$.radiusExpanded + 25), y = y1 * ($$.radiusExpanded + 15 - Math.abs(y1 * 10)) + 3;
                                            translate = 'translate('.concat(x, ',').concat(y, ')');
                                        } else if (!$$.hasType('gauge') || $$.data.targets.length > 1) {
                                            var c = this.svgArc.centroid(updated), x = isNaN(c[0]) ? 0 : c[0], y = isNaN(c[1]) ? 0 : c[1], h = Math.sqrt(x * x + y * y), ratio = $$.hasType('donut') && config.donut_label_ratio || $$.hasType('pie') && config.pie_label_ratio;
                                            ratio = ratio ? isFunction(ratio) ? ratio(d, $$.radius, h) : ratio : $$.radius && (h ? (36 / $$.radius > 0.375 ? 1.175 - 36 / $$.radius : 0.8) * $$.radius / h : 0), translate = 'translate('.concat(x * ratio, ',').concat(y * ratio, ')');
                                        }
                                    return translate;
                                },
                                convertToArcData: function convertToArcData(d) {
                                    return this.addName({
                                        id: d.data.id,
                                        value: d.value,
                                        ratio: this.getRatio('arc', d),
                                        index: d.index
                                    });
                                },
                                textForArcLabel: function textForArcLabel(selection) {
                                    var $$ = this, hasGauge = $$.hasType('gauge');
                                    $$.shouldShowArcLabel() && selection.each(function (d) {
                                        var node = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this), updated = $$.updateAngle(d), ratio = $$.getRatio('arc', updated), isUnderThreshold = hasGauge || $$.meetsArcLabelThreshold(ratio);
                                        if (isUnderThreshold) {
                                            var value = (updated || d).value, text = ($$.getArcLabelFormat() || $$.defaultArcValueFormat)(value, ratio, d.data.id).toString();
                                            setTextValue(node, text, [
                                                -1,
                                                1
                                            ], hasGauge);
                                        } else
                                            node.text('');
                                    });
                                },
                                textForGaugeMinMax: function textForGaugeMinMax(value, isMax) {
                                    var format = this.getGaugeLabelExtents();
                                    return format ? format(value, isMax) : value;
                                },
                                expandArc: function expandArc(targetIds) {
                                    var $$ = this;
                                    if ($$.transiting) {
                                        var interval = setInterval(function () {
                                            $$.transiting || (clearInterval(interval), $$.legend.selectAll('.'.concat(config_classes.legendItemFocused)).size() > 0 && $$.expandArc(targetIds));
                                        }, 10);
                                        return;
                                    }
                                    var newTargetIds = $$.mapToTargetIds(targetIds);
                                    $$.svg.selectAll($$.selectorTargets(newTargetIds, '.'.concat(config_classes.chartArc))).each(function (d) {
                                        if ($$.shouldExpand(d.data.id)) {
                                            var expandDuration = $$.getExpandConfig(d.data.id, 'duration'), svgArcExpandedSub = $$.getSvgArcExpanded($$.getExpandConfig(d.data.id, 'rate'));
                                            Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this).selectAll('path').transition().duration(expandDuration).attr('d', $$.svgArcExpanded).transition().duration(expandDuration * 2).attr('d', svgArcExpandedSub);
                                        }
                                    });
                                },
                                unexpandArc: function unexpandArc(targetIds) {
                                    var $$ = this;
                                    if (!$$.transiting) {
                                        var newTargetIds = $$.mapToTargetIds(targetIds);
                                        $$.svg.selectAll($$.selectorTargets(newTargetIds, '.'.concat(config_classes.chartArc))).selectAll('path').transition().duration(function (d) {
                                            return $$.getExpandConfig(d.data.id, 'duration');
                                        }).attr('d', $$.svgArc), $$.svg.selectAll(''.concat(config_classes.arc)).style('opacity', '1');
                                    }
                                },
                                getExpandConfig: function getExpandConfig(id, key) {
                                    var type, $$ = this, config = $$.config;
                                    return $$.isDonutType(id) ? type = 'donut' : $$.isGaugeType(id) ? type = 'gauge' : $$.isPieType(id) && (type = 'pie'), type ? config[''.concat(type, '_expand_').concat(key)] : {
                                        duration: 50,
                                        rate: 0.98
                                    }[key];
                                },
                                shouldExpand: function shouldExpand(id) {
                                    var $$ = this, config = $$.config;
                                    return $$.isDonutType(id) && config.donut_expand || $$.isGaugeType(id) && config.gauge_expand || $$.isPieType(id) && config.pie_expand;
                                },
                                shouldShowArcLabel: function shouldShowArcLabel() {
                                    var $$ = this, config = $$.config;
                                    return [
                                        'pie',
                                        'donut',
                                        'gauge'
                                    ].some(function (v) {
                                        return $$.hasType(v) && config[''.concat(v, '_label_show')];
                                    });
                                },
                                meetsArcLabelThreshold: function meetsArcLabelThreshold(ratio) {
                                    var $$ = this, config = $$.config, threshold = $$.hasType('donut') ? config.donut_label_threshold : config.pie_label_threshold;
                                    return ratio >= threshold;
                                },
                                getArcLabelFormat: function getArcLabelFormat() {
                                    var $$ = this, config = $$.config, format = config.pie_label_format;
                                    return $$.hasType('gauge') ? format = config.gauge_label_format : $$.hasType('donut') && (format = config.donut_label_format), format;
                                },
                                getGaugeLabelExtents: function getGaugeLabelExtents() {
                                    var config = this.config;
                                    return config.gauge_label_extents;
                                },
                                getArcTitle: function getArcTitle() {
                                    var $$ = this, type = $$.hasType('donut') && 'donut' || $$.hasType('gauge') && 'gauge';
                                    return type ? $$.config[''.concat(type, '_title')] : '';
                                },
                                updateTargetsForArc: function updateTargetsForArc(targets) {
                                    var $$ = this, main = $$.main, hasGauge = $$.hasType('gauge'), classChartArc = $$.classChartArc.bind($$), classArcs = $$.classArcs.bind($$), classFocus = $$.classFocus.bind($$), mainPieUpdate = main.select('.'.concat(config_classes.chartArcs)).selectAll('.'.concat(config_classes.chartArc)).data($$.pie(targets)).attr('class', function (d) {
                                            return classChartArc(d) + classFocus(d.data);
                                        }), mainPieEnter = mainPieUpdate.enter().append('g').attr('class', classChartArc);
                                    mainPieEnter.append('g').attr('class', classArcs).merge(mainPieUpdate), mainPieEnter.append('text').attr('dy', hasGauge && !$$.hasMultiTargets() ? '-.1em' : '.35em').style('opacity', '0').style('text-anchor', 'middle').style('pointer-events', 'none');
                                },
                                initArc: function initArc() {
                                    var $$ = this;
                                    $$.arcs = $$.main.select('.'.concat(config_classes.chart)).append('g').attr('class', config_classes.chartArcs).attr('transform', $$.getTranslate('arc')), $$.setArcTitle();
                                },
                                setArcTitle: function setArcTitle() {
                                    var $$ = this, title = $$.getArcTitle(), hasGauge = $$.hasType('gauge');
                                    if (title) {
                                        var text = $$.arcs.append('text').attr('class', config_classes[hasGauge ? 'chartArcsGaugeTitle' : 'chartArcsTitle']).style('text-anchor', 'middle');
                                        hasGauge && text.attr('dy', '-0.3em').style('font-size', '27px'), setTextValue(text, title, hasGauge ? undefined : [
                                            -0.6,
                                            1.35
                                        ], !0);
                                    }
                                },
                                redrawArc: function redrawArc(duration, durationForExit, withTransform) {
                                    var $$ = this, config = $$.config, main = $$.main, hasInteraction = config.interaction_enabled, mainArc = main.selectAll('.'.concat(config_classes.arcs)).selectAll('.'.concat(config_classes.arc)).data($$.arcData.bind($$));
                                    mainArc.exit().transition().duration(durationForExit).style('opacity', '0').remove(), mainArc = mainArc.enter().append('path').attr('class', $$.classArc.bind($$)).style('fill', function (d) {
                                        return $$.color(d.data);
                                    }).style('cursor', function (d) {
                                        return hasInteraction && config.data_selection_isselectable(d) ? 'pointer' : null;
                                    }).style('opacity', '0').each(function (d) {
                                        $$.isGaugeType(d.data) && (d.startAngle = config.gauge_startingAngle, d.endAngle = config.gauge_startingAngle), this._current = d;
                                    }).merge(mainArc), $$.hasMultiArcGauge() && $$.redrawMultiArcGauge(), mainArc.attr('transform', function (d) {
                                        return !$$.isGaugeType(d.data) && withTransform ? 'scale(0)' : '';
                                    }).style('opacity', function (d) {
                                        return d === this._current ? '0' : '1';
                                    }).each(function () {
                                        $$.transiting = !0;
                                    }).transition().duration(duration).attrTween('d', function (d) {
                                        var updated = $$.updateAngle(d);
                                        if (!updated)
                                            return function () {
                                                return 'M 0 0';
                                            };
                                        isNaN(this._current.startAngle) && (this._current.startAngle = 0), isNaN(this._current.endAngle) && (this._current.endAngle = this._current.startAngle);
                                        var interpolate = Object(external_commonjs_d3_interpolate_commonjs2_d3_interpolate_amd_d3_interpolate_root_d3_['interpolate'])(this._current, updated);
                                        return this._current = interpolate(0), function (t) {
                                            var interpolated = interpolate(t);
                                            return interpolated.data = d.data, $$.getArc(interpolated, !0);
                                        };
                                    }).attr('transform', withTransform ? 'scale(1)' : '').style('fill', function (d) {
                                        var color;
                                        return $$.levelColor ? (color = $$.levelColor(d.data.values[0].value), config.data_colors[d.data.id] = color) : color = $$.color(d.data.id), color;
                                    }).style('opacity', '1').call($$.endall, function () {
                                        if ($$.levelColor) {
                                            var path = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this), d = path.datum();
                                            $$.updateLegendItemColor(d.data.id, path.style('fill'));
                                        }
                                        $$.transiting = !1, callFn(config.onrendered, $$, $$.api);
                                    }), hasInteraction && $$.bindArcEvent(mainArc), $$.redrawArcText(duration);
                                },
                                redrawMultiArcGauge: function redrawMultiArcGauge() {
                                    var $$ = this, config = $$.config, arcLabelLines = $$.main.selectAll('.'.concat(config_classes.arcs)).selectAll('.'.concat(config_classes.arcLabelLine)).data($$.arcData.bind($$)), mainArcLabelLine = arcLabelLines.enter().append('rect').attr('class', function (d) {
                                            return ''.concat(config_classes.arcLabelLine, ' ').concat(config_classes.target, ' ').concat(config_classes.target, '-').concat(d.data.id);
                                        }).merge(arcLabelLines);
                                    mainArcLabelLine.style('fill', function (d) {
                                        return $$.levelColor ? $$.levelColor(d.data.values[0].value) : $$.color(d.data);
                                    }).style('display', config.gauge_label_show ? '' : 'none').each(function (d) {
                                        var lineLength = 0, lineThickness = 2, x = 0, y = 0, transform = '';
                                        if ($$.hiddenTargetIds.indexOf(d.data.id) < 0) {
                                            var updated = $$.updateAngle(d), innerLineLength = $$.gaugeArcWidth / $$.filterTargetsToShow($$.data.targets).length * (updated.index + 1), lineAngle = updated.endAngle - Math.PI / 2, arcInnerRadius = $$.radius - innerLineLength, linePositioningAngle = lineAngle - (arcInnerRadius === 0 ? 0 : 1 / arcInnerRadius);
                                            lineLength = $$.radiusExpanded - $$.radius + innerLineLength, x = Math.cos(linePositioningAngle) * arcInnerRadius, y = Math.sin(linePositioningAngle) * arcInnerRadius, transform = 'rotate('.concat(lineAngle * 180 / Math.PI, ', ').concat(x, ', ').concat(y, ')');
                                        }
                                        Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this).attr('x', x).attr('y', y).attr('width', lineLength).attr('height', lineThickness).attr('transform', transform).style('stroke-dasharray', '0, '.concat(lineLength + lineThickness, ', 0'));
                                    });
                                },
                                bindArcEvent: function bindArcEvent(arc) {
                                    function selectArc(_this, arcData, id) {
                                        $$.expandArc(id), $$.api.focus(id), $$.toggleFocusLegend(id, !0), $$.showTooltip([arcData], _this);
                                    }
                                    function unselectArc(arcData) {
                                        var id = arcData && arcData.id || undefined;
                                        $$.unexpandArc(id), $$.api.revert(), $$.revertLegend(), $$.hideTooltip();
                                    }
                                    var $$ = this, isTouch = $$.inputType === 'touch', isMouse = $$.inputType === 'mouse';
                                    if (arc.on('click', function (d, i) {
                                            var arcData, updated = $$.updateAngle(d);
                                            updated && (arcData = $$.convertToArcData(updated), $$.toggleShape && $$.toggleShape(this, arcData, i), $$.config.data_onclick.call($$.api, arcData, this));
                                        }), isMouse && arc.on('mouseover', function (d) {
                                            if (!$$.transiting) {
                                                var updated = $$.updateAngle(d), arcData = updated ? $$.convertToArcData(updated) : null, id = arcData && arcData.id || undefined;
                                                selectArc(this, arcData, id), $$.setOverOut(!0, arcData);
                                            }
                                        }).on('mouseout', function (d) {
                                            if (!$$.transiting) {
                                                var updated = $$.updateAngle(d), arcData = updated ? $$.convertToArcData(updated) : null;
                                                unselectArc(), $$.setOverOut(!1, arcData);
                                            }
                                        }).on('mousemove', function (d) {
                                            var updated = $$.updateAngle(d), arcData = updated ? $$.convertToArcData(updated) : null;
                                            $$.showTooltip([arcData], this);
                                        }), isTouch && $$.hasArcType() && !$$.radars) {
                                        var getEventArc = function () {
                                                var touch = external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['event'].changedTouches[0], eventArc = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(browser_doc.elementFromPoint(touch.clientX, touch.clientY));
                                                return eventArc;
                                            }, handler = function () {
                                                if (!$$.transiting) {
                                                    var eventArc = getEventArc(), datum = eventArc.datum(), updated = datum && datum.data && datum.data.id ? $$.updateAngle(datum) : null, arcData = updated ? $$.convertToArcData(updated) : null, id = arcData && arcData.id || undefined;
                                                    $$.callOverOutForTouch(arcData), isUndefined(id) ? unselectArc() : selectArc(this, arcData, id);
                                                }
                                            };
                                        $$.svg.on('touchstart', handler).on('touchmove', handler);
                                    }
                                },
                                redrawArcText: function redrawArcText(duration) {
                                    var text, $$ = this, config = $$.config, main = $$.main, hasGauge = $$.hasType('gauge'), hasMultiArcGauge = $$.hasMultiArcGauge();
                                    if (hasGauge && $$.data.targets.length === 1 && config.gauge_title || (text = main.selectAll('.'.concat(config_classes.chartArc)).select('text').style('opacity', '0').attr('class', function (d) {
                                            return $$.isGaugeType(d.data) ? config_classes.gaugeValue : null;
                                        }).call($$.textForArcLabel.bind($$)).attr('transform', $$.transformForArcLabel.bind($$)).style('font-size', function (d) {
                                            return $$.isGaugeType(d.data) && $$.data.targets.length === 1 && !hasMultiArcGauge ? ''.concat(Math.round($$.radius / 5), 'px') : null;
                                        }).transition().duration(duration).style('opacity', function (d) {
                                            return $$.isTargetToShow(d.data.id) && $$.isArcType(d.data) ? '1' : '0';
                                        }), hasMultiArcGauge && text.attr('dy', '-.1em')), main.select('.'.concat(config_classes.chartArcsTitle)).style('opacity', $$.hasType('donut') || hasGauge ? '1' : '0'), hasGauge) {
                                        var isFullCircle = config.gauge_fullCircle, startAngle = -1 * Math.PI / 2, endAngle = (isFullCircle ? -4 : -1) * startAngle;
                                        isFullCircle && text && text.attr('dy', ''.concat(Math.round($$.radius / 14)));
                                        var backgroundArc = $$.arcs.select(''.concat(hasMultiArcGauge ? 'g' : '', '.').concat(config_classes.chartArcsBackground));
                                        if (hasMultiArcGauge) {
                                            var index = 0;
                                            backgroundArc = backgroundArc.selectAll('path.'.concat(config_classes.chartArcsBackground)).data($$.data.targets), backgroundArc.enter().append('path').attr('class', function (d, i) {
                                                return ''.concat(config_classes.chartArcsBackground, ' ').concat(config_classes.chartArcsBackground, '-').concat(i);
                                            }).merge(backgroundArc).attr('d', function (d1) {
                                                if ($$.hiddenTargetIds.indexOf(d1.id) >= 0)
                                                    return 'M 0 0';
                                                var d = {
                                                    data: [{ value: config.gauge_max }],
                                                    startAngle: startAngle,
                                                    endAngle: endAngle,
                                                    index: index++
                                                };
                                                return $$.getArc(d, !0, !0);
                                            }), backgroundArc.exit().remove();
                                        } else
                                            backgroundArc.attr('d', function () {
                                                var d = {
                                                    data: [{ value: config.gauge_max }],
                                                    startAngle: startAngle,
                                                    endAngle: endAngle
                                                };
                                                return $$.getArc(d, !0, !0);
                                            });
                                        $$.arcs.select('.'.concat(config_classes.chartArcsGaugeUnit)).attr('dy', '.75em').text(config.gauge_label_show ? config.gauge_units : ''), config.gauge_label_show && ($$.arcs.select('.'.concat(config_classes.chartArcsGaugeMin)).attr('dx', ''.concat(-1 * ($$.innerRadius + ($$.radius - $$.innerRadius) / (isFullCircle ? 1 : 2)), 'px')).attr('dy', '1.2em').text($$.textForGaugeMinMax(config.gauge_min, !1)), !isFullCircle && $$.arcs.select('.'.concat(config_classes.chartArcsGaugeMax)).attr('dx', ''.concat($$.innerRadius + ($$.radius - $$.innerRadius) / 2, 'px')).attr('dy', '1.2em').text($$.textForGaugeMinMax(config.gauge_max, !0)));
                                    }
                                },
                                initGauge: function initGauge() {
                                    var $$ = this, config = $$.config, arcs = $$.arcs, appendText = function (className) {
                                            arcs.append('text').attr('class', className).style('text-anchor', 'middle').style('pointer-events', 'none');
                                        };
                                    $$.hasType('gauge') && (arcs.append($$.hasMultiArcGauge() ? 'g' : 'path').attr('class', config_classes.chartArcsBackground), config.gauge_units && appendText(config_classes.chartArcsGaugeUnit), config.gauge_label_show && (appendText(config_classes.chartArcsGaugeMin), !config.gauge_fullCircle && appendText(config_classes.chartArcsGaugeMax)));
                                },
                                getGaugeLabelHeight: function getGaugeLabelHeight() {
                                    return this.config.gauge_label_show ? 20 : 0;
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                initBar: function initBar() {
                                    var $$ = this;
                                    $$.main.select('.'.concat(config_classes.chart)).append('g').attr('class', config_classes.chartBars);
                                },
                                updateTargetsForBar: function updateTargetsForBar(targets) {
                                    var $$ = this, config = $$.config, classChartBar = $$.classChartBar.bind($$), classBars = $$.classBars.bind($$), classFocus = $$.classFocus.bind($$), mainBarUpdate = $$.main.select('.'.concat(config_classes.chartBars)).selectAll('.'.concat(config_classes.chartBar)).data(targets).attr('class', function (d) {
                                            return classChartBar(d) + classFocus(d);
                                        }), mainBarEnter = mainBarUpdate.enter().append('g').attr('class', classChartBar).style('opacity', '0').style('pointer-events', 'none');
                                    mainBarEnter.append('g').attr('class', classBars).style('cursor', function (d) {
                                        return config.data_selection_isselectable(d) ? 'pointer' : null;
                                    });
                                },
                                updateBar: function updateBar(durationForExit) {
                                    var $$ = this, barData = $$.barData.bind($$), classBar = $$.classBar.bind($$), initialOpacity = $$.initialOpacity.bind($$);
                                    $$.mainBar = $$.main.selectAll('.'.concat(config_classes.bars)).selectAll('.'.concat(config_classes.bar)).data(barData), $$.mainBar.exit().transition().duration(durationForExit).style('opacity', '0').remove(), $$.mainBar = $$.mainBar.enter().append('path').attr('class', classBar).style('fill', $$.color).merge($$.mainBar).style('opacity', initialOpacity);
                                },
                                redrawBar: function redrawBar(drawBar, withTransition) {
                                    return [(withTransition ? this.mainBar.transition(getRandom()) : this.mainBar).attr('d', drawBar).style('fill', this.color).style('opacity', '1')];
                                },
                                getBarW: function getBarW(axis, barTargetsNum) {
                                    var result, $$ = this, config = $$.config, maxDataCount = $$.getMaxDataCount(), isGrouped = $$.isGrouped(), tickInterval = ($$.zoomScale || $$) && !$$.isCategorized() ? $$.xx($$.subX.domain()[1]) / maxDataCount : axis.tickInterval(maxDataCount), getWidth = function (id) {
                                            var width = id ? config.bar_width[id] : config.bar_width, ratio = id ? width.ratio : config.bar_width_ratio, max = id ? width.max : config.bar_width_max, w = isNumber(width) ? width : barTargetsNum ? tickInterval * ratio / barTargetsNum : 0;
                                            return max && w > max ? max : w;
                                        };
                                    return result = getWidth(), !isGrouped && isObjectType(config.bar_width) && (result = {
                                        width: result,
                                        total: []
                                    }, $$.filterTargetsToShow($$.data.targets).forEach(function (v) {
                                        config.bar_width[v.id] && (result[v.id] = getWidth(v.id), result.total.push(result[v.id] || result.width));
                                    })), result;
                                },
                                getBars: function getBars(i, id) {
                                    var $$ = this, suffix = isValue(i) ? '-'.concat(i) : '';
                                    return (id ? $$.main.selectAll('.'.concat(config_classes.bars).concat($$.getTargetSelectorSuffix(id))) : $$.main).selectAll('.'.concat(config_classes.bar).concat(suffix));
                                },
                                expandBars: function expandBars(i, id, reset) {
                                    var $$ = this;
                                    reset && $$.unexpandBars(), $$.getBars(i, id).classed(config_classes.EXPANDED, !0);
                                },
                                unexpandBars: function unexpandBars(i) {
                                    this.getBars(i).classed(config_classes.EXPANDED, !1);
                                },
                                generateDrawBar: function generateDrawBar(barIndices, isSub) {
                                    var $$ = this, config = $$.config, getPoints = $$.generateGetBarPoints(barIndices, isSub), isRotated = config.axis_rotated, isGrouped = $$.isGrouped(), barRadius = config.bar_radius, barRadiusRatio = config.bar_radius_ratio, getRadius = isNumber(barRadius) && barRadius > 0 ? function () {
                                            return barRadius;
                                        } : isNumber(barRadiusRatio) ? function (w) {
                                            return w * barRadiusRatio;
                                        } : null;
                                    return function (d, i) {
                                        var points = getPoints(d, i), indexX = +isRotated, indexY = +!indexX, isNegative = d.value < 0, pathRadius = [
                                                '',
                                                ''
                                            ], radius = 0;
                                        if (getRadius && !isGrouped) {
                                            var index = isRotated ? indexY : indexX, barW = points[2][index] - points[0][index];
                                            radius = getRadius(barW);
                                            var arc = 'a'.concat(radius, ',').concat(radius, ' ').concat(isNegative ? '1 0 0' : '0 0 1', ' ');
                                            pathRadius[+!isRotated] = ''.concat(arc).concat(radius, ',').concat(radius), pathRadius[+isRotated] = ''.concat(arc).concat([
                                                -radius,
                                                radius
                                            ][isRotated ? 'sort' : 'reverse']()), isNegative && pathRadius.reverse();
                                        }
                                        var path = isRotated ? 'H'.concat(points[1][indexX] - radius, ' ').concat(pathRadius[0], 'V').concat(points[2][indexY] - radius, ' ').concat(pathRadius[1], 'H').concat(points[3][indexX]) : 'V'.concat(points[1][indexY] + (isNegative ? -radius : radius), ' ').concat(pathRadius[0], 'H').concat(points[2][indexX] - radius, ' ').concat(pathRadius[1], 'V').concat(points[3][indexY]);
                                        return 'M'.concat(points[0][indexX], ',').concat(points[0][indexY]).concat(path, 'z');
                                    };
                                },
                                generateGetBarPoints: function generateGetBarPoints(barIndices, isSub) {
                                    var $$ = this, axis = isSub ? $$.subXAxis : $$.xAxis, barTargetsNum = $$.getIndicesMax(barIndices) + 1, barW = $$.getBarW(axis, barTargetsNum), barX = $$.getShapeX(barW, barIndices, !!isSub), barY = $$.getShapeY(!!isSub), barOffset = $$.getShapeOffset($$.isBarType, barIndices, !!isSub), yScale = isSub ? $$.getSubYScale : $$.getYScale;
                                    return function (d, i) {
                                        var y0 = yScale.call($$, d.id)($$.getShapeYMin(d.id)), offset = barOffset(d, i) || y0, width = isNumber(barW) ? barW : barW[d.id] || barW.width, posX = barX(d), posY = barY(d);
                                        return $$.config.axis_rotated && (d.value > 0 && posY < y0 || d.value < 0 && y0 < posY) && (posY = y0), posY -= y0 - offset, [
                                            [
                                                posX,
                                                offset
                                            ],
                                            [
                                                posX,
                                                posY
                                            ],
                                            [
                                                posX + width,
                                                posY
                                            ],
                                            [
                                                posX + width,
                                                offset
                                            ]
                                        ];
                                    };
                                },
                                isWithinBar: function isWithinBar(that) {
                                    var mouse = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['mouse'])(that), list = getRectSegList(that), _list2 = _slicedToArray(list, 2), seg0 = _list2[0], seg1 = _list2[1], x = Math.min(seg0.x, seg1.x), y = Math.min(seg0.y, seg1.y), offset = this.config.bar_sensitivity, _that$getBBox = that.getBBox(), width = _that$getBBox.width, height = _that$getBBox.height;
                                    return x - offset < mouse[0] && mouse[0] < x + width + offset && y - offset < mouse[1] && mouse[1] < y + height + offset;
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                initBubble: function initBubble() {
                                    var $$ = this, config = $$.config;
                                    $$.hasType('bubble') && (config.point_show = !0, config.point_type = 'circle', config.point_sensitivity = 25);
                                },
                                getBaseLength: function getBaseLength() {
                                    var $$ = this, cacheKey = '$baseLength', baseLength = $$.getCache(cacheKey);
                                    return baseLength || $$.addCache(cacheKey, baseLength = getMinMax('min', [
                                        $$.axes.x.select('path').node().getTotalLength(),
                                        $$.axes.y.select('path').node().getTotalLength()
                                    ])), baseLength;
                                },
                                getBubbleR: function getBubbleR(d) {
                                    var $$ = this, maxR = $$.config.bubble_maxR;
                                    isFunction(maxR) ? maxR = maxR(d) : !isNumber(maxR) && (maxR = $$.getBaseLength() / ($$.getMaxDataCount() * 2) + 12);
                                    var max = getMinMax('max', $$.getMinMaxData().max.map(function (d) {
                                            return $$.isBubbleZType(d) ? $$.getBubbleZData(d.value, 'y') : isObject(d.value) ? d.value.mid : d.value;
                                        })), maxArea = maxR * maxR * Math.PI, area = ($$.isBubbleZType(d) ? $$.getBubbleZData(d.value, 'z') : d.value) * (maxArea / max);
                                    return Math.sqrt(area / Math.PI);
                                },
                                getBubbleZData: function getBubbleZData(d, type) {
                                    return isObject(d) ? d[type] : d[type === 'y' ? 0 : 1];
                                },
                                isBubbleZType: function isBubbleZType(d) {
                                    var $$ = this;
                                    return $$.isBubbleType(d) && (isObject(d.value) && ('z' in d.value || 'y' in d.value) || isArray(d.value) && d.value.length === 2);
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                initLine: function initLine() {
                                    var $$ = this;
                                    $$.main.select('.'.concat(config_classes.chart)).append('g').attr('class', config_classes.chartLines);
                                },
                                updateTargetsForLine: function updateTargetsForLine(targets) {
                                    var $$ = this, config = $$.config, classChartLine = $$.classChartLine.bind($$), classLines = $$.classLines.bind($$), classAreas = $$.classAreas.bind($$), classCircles = $$.classCircles.bind($$), classFocus = $$.classFocus.bind($$), mainLineUpdate = $$.main.select('.'.concat(config_classes.chartLines)).selectAll('.'.concat(config_classes.chartLine)).data(targets).attr('class', function (d) {
                                            return classChartLine(d) + classFocus(d);
                                        }), mainLineEnter = mainLineUpdate.enter().append('g').attr('class', classChartLine).style('opacity', '0').style('pointer-events', 'none');
                                    mainLineEnter.append('g').attr('class', classLines), mainLineEnter.append('g').attr('class', classAreas), config.point_show && (config.data_selection_enabled && mainLineEnter.append('g').attr('class', function (d) {
                                        return $$.generateClass(config_classes.selectedCircles, d.id);
                                    }), mainLineEnter.append('g').attr('class', classCircles).style('cursor', function (d) {
                                        return config.data_selection_isselectable(d) ? 'pointer' : null;
                                    })), targets.forEach(function (t) {
                                        $$.main.selectAll('.'.concat(config_classes.selectedCircles).concat($$.getTargetSelectorSuffix(t.id))).selectAll(''.concat(config_classes.selectedCircle)).each(function (d) {
                                            d.value = t.values[d.index].value;
                                        });
                                    });
                                },
                                updateLine: function updateLine(durationForExit) {
                                    var $$ = this;
                                    $$.mainLine = $$.main.selectAll('.'.concat(config_classes.lines)).selectAll('.'.concat(config_classes.line)).data($$.lineData.bind($$)), $$.mainLine.exit().transition().duration(durationForExit).style('opacity', '0').remove(), $$.mainLine = $$.mainLine.enter().append('path').attr('class', function (d) {
                                        return ''.concat($$.classLine.bind($$)(d), ' ').concat($$.extraLineClasses(d) || '');
                                    }).style('stroke', $$.color).merge($$.mainLine).style('opacity', $$.initialOpacity.bind($$)).style('shape-rendering', function (d) {
                                        return $$.isStepType(d) ? 'crispEdges' : '';
                                    }).attr('transform', null);
                                },
                                redrawLine: function redrawLine(drawLine, withTransition) {
                                    return [(withTransition ? this.mainLine.transition(getRandom()) : this.mainLine).attr('d', drawLine).style('stroke', this.color).style('opacity', '1')];
                                },
                                getCurve: function getCurve(d) {
                                    var $$ = this, isRotatedStepType = $$.config.axis_rotated && $$.isStepType(d);
                                    return isRotatedStepType ? function (context) {
                                        var step = $$.getInterpolate(d)(context);
                                        return step.orgPoint = step.point, step.pointRotated = function (x, y) {
                                            this._point === 1 && (this._point = 2);
                                            var y1 = this._y * (1 - this._t) + y * this._t;
                                            this._context.lineTo(this._x, y1), this._context.lineTo(x, y1), this._x = x, this._y = y;
                                        }, step.point = function (x, y) {
                                            this._point === 0 ? this.orgPoint(x, y) : this.pointRotated(x, y);
                                        }, step;
                                    } : $$.getInterpolate(d);
                                },
                                generateDrawLine: function generateDrawLine(lineIndices, isSub) {
                                    var $$ = this, config = $$.config, lineConnectNull = config.line_connectNull, isRotated = config.axis_rotated, getPoints = $$.generateGetLinePoints(lineIndices, isSub), yScaleGetter = isSub ? $$.getSubYScale : $$.getYScale, xValue = function (d) {
                                            return (isSub ? $$.subxx : $$.xx).call($$, d);
                                        }, yValue = function (d, i) {
                                            return $$.isGrouped(d.id) ? getPoints(d, i)[0][1] : yScaleGetter.call($$, d.id)($$.getBaseValue(d));
                                        }, line = Object(external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['line'])();
                                    line = isRotated ? line.x(yValue).y(xValue) : line.x(xValue).y(yValue), lineConnectNull || (line = line.defined(function (d) {
                                        return $$.getBaseValue(d) !== null;
                                    }));
                                    var x = isSub ? $$.subX : $$.x;
                                    return function (d) {
                                        var path, y = yScaleGetter.call($$, d.id), values = lineConnectNull ? $$.filterRemoveNull(d.values) : d.values, x0 = 0, y0 = 0;
                                        if ($$.isLineType(d)) {
                                            var regions = config.data_regions[d.id];
                                            regions ? path = $$.lineWithRegions(values, x, y, regions) : ($$.isStepType(d) && (values = $$.convertValuesToStep(values)), path = line.curve($$.getCurve(d))(values));
                                        } else
                                            values[0] && (x0 = x(values[0].x), y0 = y(values[0].value)), path = isRotated ? 'M '.concat(y0, ' ').concat(x0) : 'M '.concat(x0, ' ').concat(y0);
                                        return path || 'M 0 0';
                                    };
                                },
                                generateGetLinePoints: function generateGetLinePoints(lineIndices, isSubValue) {
                                    var $$ = this, config = $$.config, isSub = !!isSubValue, x = $$.getShapeX(0, lineIndices, isSub), y = $$.getShapeY(isSub), lineOffset = $$.getShapeOffset($$.isLineType, lineIndices, isSub), yScale = isSub ? $$.getSubYScale : $$.getYScale;
                                    return function (d, i) {
                                        var y0 = yScale.call($$, d.id)($$.getShapeYMin(d.id)), offset = lineOffset(d, i) || y0, posX = x(d), posY = y(d);
                                        config.axis_rotated && (d.value > 0 && posY < y0 || d.value < 0 && y0 < posY) && (posY = y0);
                                        var point = [
                                            posX,
                                            posY - (y0 - offset)
                                        ];
                                        return [
                                            point,
                                            point,
                                            point,
                                            point
                                        ];
                                    };
                                },
                                lineWithRegions: function lineWithRegions(d, x, y, _regions) {
                                    var xp, yp, diff, diffx2, $$ = this, config = $$.config, isRotated = config.axis_rotated, isTimeSeries = $$.isTimeSeries(), xOffset = $$.isCategorized() ? 0.5 : 0, regions = [], dasharray = '2 2', isWithinRegions = function (withinX, withinRegions) {
                                            for (var reg, i = 0; reg = withinRegions[i]; i++)
                                                if (reg.start < withinX && withinX <= reg.end)
                                                    return reg.style;
                                            return !1;
                                        };
                                    if (isDefined(_regions)) {
                                        var getValue = function (v, def) {
                                            return isUndefined(v) ? def : isTimeSeries ? $$.parseDate(v) : v;
                                        };
                                        for (var reg, i = 0; reg = _regions[i]; i++) {
                                            var start = getValue(reg.start, d[0].x), end = getValue(reg.end, d[d.length - 1].x), style = reg.style || { dasharray: dasharray };
                                            regions[i] = {
                                                start: start,
                                                end: end,
                                                style: style
                                            };
                                        }
                                    }
                                    var xValue = isRotated ? function (dt) {
                                            return y(dt.value);
                                        } : function (dt) {
                                            return x(dt.x);
                                        }, yValue = isRotated ? function (dt) {
                                            return x(dt.x);
                                        } : function (dt) {
                                            return y(dt.value);
                                        }, generateM = function (points) {
                                            return 'M'.concat(points[0][0], ',').concat(points[0][1], 'L').concat(points[1][0], ',').concat(points[1][1]);
                                        }, sWithRegion = isTimeSeries ? function (d0, d1, k, timeseriesDiff) {
                                            var x0 = d0.x.getTime(), xDiff = d1.x - d0.x, xv0 = new Date(x0 + xDiff * k), xv1 = new Date(x0 + xDiff * (k + timeseriesDiff)), points = isRotated ? [
                                                    [
                                                        y(yp(k)),
                                                        x(xv0)
                                                    ],
                                                    [
                                                        y(yp(k + diff)),
                                                        x(xv1)
                                                    ]
                                                ] : [
                                                    [
                                                        x(xv0),
                                                        y(yp(k))
                                                    ],
                                                    [
                                                        x(xv1),
                                                        y(yp(k + diff))
                                                    ]
                                                ];
                                            return generateM(points);
                                        } : function (d0, d1, k, otherDiff) {
                                            var points = isRotated ? [
                                                [
                                                    y(yp(k), !0),
                                                    x(xp(k))
                                                ],
                                                [
                                                    y(yp(k + otherDiff), !0),
                                                    x(xp(k + otherDiff))
                                                ]
                                            ] : [
                                                [
                                                    x(xp(k), !0),
                                                    y(yp(k))
                                                ],
                                                [
                                                    x(xp(k + otherDiff), !0),
                                                    y(yp(k + otherDiff))
                                                ]
                                            ];
                                            return generateM(points);
                                        }, path = '';
                                    for (var data, _i = 0; data = d[_i]; _i++) {
                                        var prevData = d[_i - 1], hasPrevData = prevData && isValue(prevData.value), style = isWithinRegions(data.x, regions);
                                        if (isValue(data.value))
                                            if (isUndefined(regions) || !style || !hasPrevData)
                                                path += ''.concat(_i && hasPrevData ? 'L' : 'M').concat(xValue(data), ',').concat(yValue(data));
                                            else if (hasPrevData) {
                                                try {
                                                    style = style.dasharray.split(' ');
                                                } catch (e) {
                                                    style = dasharray.split(' ');
                                                }
                                                xp = $$.getScale(prevData.x + xOffset, data.x + xOffset, isTimeSeries), yp = $$.getScale(prevData.value, data.value);
                                                var dx = x(data.x) - x(prevData.x), dy = y(data.value) - y(prevData.value), dd = Math.sqrt(Math.pow(dx, 2) + Math.pow(dy, 2));
                                                diff = style[0] / dd, diffx2 = diff * style[1];
                                                for (var _j = diff; _j <= 1; _j += diffx2)
                                                    path += sWithRegion(prevData, data, _j, diff), _j + diffx2 >= 1 && (path += sWithRegion(prevData, data, 1, 0));
                                            }
                                    }
                                    return path;
                                },
                                updateAreaGradient: function updateAreaGradient() {
                                    var $$ = this;
                                    $$.data.targets.forEach(function (d) {
                                        var id = ''.concat($$.datetimeId, '-areaGradient').concat($$.getTargetSelectorSuffix(d.id));
                                        if ($$.isAreaType(d) && $$.defs.select('#'.concat(id)).empty()) {
                                            var color = $$.color(d), _$$$config$area_linea = $$.config.area_linearGradient, _$$$config$area_linea2 = _$$$config$area_linea.x, x = _$$$config$area_linea2 === void 0 ? [
                                                    0,
                                                    0
                                                ] : _$$$config$area_linea2, _$$$config$area_linea3 = _$$$config$area_linea.y, y = _$$$config$area_linea3 === void 0 ? [
                                                    0,
                                                    1
                                                ] : _$$$config$area_linea3, _$$$config$area_linea4 = _$$$config$area_linea.stops, stops = _$$$config$area_linea4 === void 0 ? [
                                                    [
                                                        0,
                                                        color,
                                                        1
                                                    ],
                                                    [
                                                        1,
                                                        color,
                                                        0
                                                    ]
                                                ] : _$$$config$area_linea4, linearGradient = $$.defs.append('linearGradient').attr('id', ''.concat(id)).attr('x1', x[0]).attr('x2', x[1]).attr('y1', y[0]).attr('y2', y[1]);
                                            stops.forEach(function (v) {
                                                var stopColor = isFunction(v[1]) ? v[1](d.id) : v[1];
                                                linearGradient.append('stop').attr('offset', v[0]).attr('stop-color', stopColor || color).attr('stop-opacity', v[2]);
                                            });
                                        }
                                    });
                                },
                                updateAreaColor: function updateAreaColor(d) {
                                    var $$ = this;
                                    return $$.config.area_linearGradient ? 'url(#'.concat($$.datetimeId, '-areaGradient').concat($$.getTargetSelectorSuffix(d.id), ')') : $$.color(d);
                                },
                                updateArea: function updateArea(durationForExit) {
                                    var $$ = this;
                                    $$.config.area_linearGradient && $$.updateAreaGradient(), $$.mainArea = $$.main.selectAll('.'.concat(config_classes.areas)).selectAll('.'.concat(config_classes.area)).data($$.lineData.bind($$)), $$.mainArea.exit().transition().duration(durationForExit).style('opacity', '0').remove(), $$.mainArea = $$.mainArea.enter().append('path').attr('class', $$.classArea.bind($$)).style('fill', $$.updateAreaColor.bind($$)).style('opacity', function () {
                                        return $$.orgAreaOpacity = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this).style('opacity'), '0';
                                    }).merge($$.mainArea), $$.mainArea.style('opacity', $$.orgAreaOpacity);
                                },
                                redrawArea: function redrawArea(drawArea, withTransition) {
                                    var $$ = this;
                                    return [(withTransition ? $$.mainArea.transition(getRandom()) : $$.mainArea).attr('d', drawArea).style('fill', $$.updateAreaColor.bind($$)).style('opacity', function (d) {
                                            return ($$.isAreaRangeType(d) ? $$.orgAreaOpacity / 1.75 : $$.orgAreaOpacity) + '';
                                        })];
                                },
                                generateDrawArea: function generateDrawArea(areaIndices, isSub) {
                                    var $$ = this, config = $$.config, lineConnectNull = config.line_connectNull, isRotated = config.axis_rotated, getPoints = $$.generateGetAreaPoints(areaIndices, isSub), yScaleGetter = isSub ? $$.getSubYScale : $$.getYScale, xValue = function (d) {
                                            return (isSub ? $$.subxx : $$.xx).call($$, d);
                                        }, value0 = function (d, i) {
                                            return $$.isGrouped(d.id) ? getPoints(d, i)[0][1] : yScaleGetter.call($$, d.id)($$.isAreaRangeType(d) ? $$.getAreaRangeData(d, 'high') : $$.getShapeYMin(d.id));
                                        }, value1 = function (d, i) {
                                            return $$.isGrouped(d.id) ? getPoints(d, i)[1][1] : yScaleGetter.call($$, d.id)($$.isAreaRangeType(d) ? $$.getAreaRangeData(d, 'low') : d.value);
                                        };
                                    return function (d) {
                                        var path, values = lineConnectNull ? $$.filterRemoveNull(d.values) : d.values, x0 = 0, y0 = 0;
                                        if ($$.isAreaType(d)) {
                                            var area = Object(external_commonjs_d3_shape_commonjs2_d3_shape_amd_d3_shape_root_d3_['area'])();
                                            area = isRotated ? area.y(xValue).x0(value0).x1(value1) : area.x(xValue).y0(config.area_above ? 0 : value0).y1(value1), lineConnectNull || (area = area.defined(function (d) {
                                                return $$.getBaseValue(d) !== null;
                                            })), $$.isStepType(d) && (values = $$.convertValuesToStep(values)), path = area.curve($$.getCurve(d))(values);
                                        } else
                                            values[0] && (x0 = $$.x(values[0].x), y0 = $$.getYScale(d.id)(values[0].value)), path = isRotated ? 'M '.concat(y0, ' ').concat(x0) : 'M '.concat(x0, ' ').concat(y0);
                                        return path || 'M 0 0';
                                    };
                                },
                                generateGetAreaPoints: function generateGetAreaPoints(areaIndices, isSub) {
                                    var $$ = this, config = $$.config, x = $$.getShapeX(0, areaIndices, !!isSub), y = $$.getShapeY(!!isSub), areaOffset = $$.getShapeOffset($$.isAreaType, areaIndices, !!isSub), yScale = isSub ? $$.getSubYScale : $$.getYScale;
                                    return function (d, i) {
                                        var y0 = yScale.call($$, d.id)($$.getShapeYMin(d.id)), offset = areaOffset(d, i) || y0, posX = x(d), posY = y(d);
                                        return config.axis_rotated && (d.value > 0 && posY < y0 || d.value < 0 && y0 < posY) && (posY = y0), [
                                            [
                                                posX,
                                                offset
                                            ],
                                            [
                                                posX,
                                                posY - (y0 - offset)
                                            ],
                                            [
                                                posX,
                                                posY - (y0 - offset)
                                            ],
                                            [
                                                posX,
                                                offset
                                            ]
                                        ];
                                    };
                                },
                                updateCircle: function updateCircle() {
                                    var $$ = this;
                                    if ($$.config.point_show) {
                                        $$.mainCircle = $$.main.selectAll('.'.concat(config_classes.circles)).selectAll('.'.concat(config_classes.circle)).data(function (d) {
                                            return !$$.isBarType(d) && (!$$.isLineType(d) || $$.shouldDrawPointsForLine(d)) && $$.labelishData(d);
                                        }), $$.mainCircle.exit().remove();
                                        var fn = $$.point('create', this, $$.pointR.bind($$), $$.color);
                                        $$.mainCircle = $$.mainCircle.enter().append(fn).merge($$.mainCircle).style('stroke', $$.color).style('opacity', $$.initialOpacityForCircle.bind($$));
                                    }
                                },
                                redrawCircle: function redrawCircle(cx, cy, withTransition, flow) {
                                    var $$ = this, selectedCircles = $$.main.selectAll('.'.concat(config_classes.selectedCircle));
                                    if (!$$.config.point_show)
                                        return [];
                                    var mainCircles = [];
                                    $$.mainCircle.each(function (d) {
                                        var fn = $$.point('update', $$, cx, cy, $$.opacityForCircle.bind($$), $$.color, withTransition, flow, selectedCircles).bind(this), result = fn(d);
                                        mainCircles.push(result);
                                    });
                                    var posAttr = $$.isCirclePoint() ? 'c' : '';
                                    return [
                                        mainCircles,
                                        selectedCircles.attr(''.concat(posAttr, 'x'), cx).attr(''.concat(posAttr, 'y'), cy)
                                    ];
                                },
                                circleX: function circleX(d) {
                                    var $$ = this, hasValue = isValue(d.x);
                                    return $$.config.zoom_enabled && $$.zoomScale ? hasValue ? $$.zoomScale(d.x) : null : hasValue ? $$.x(d.x) : null;
                                },
                                updateCircleY: function updateCircleY() {
                                    var $$ = this, getPoints = $$.generateGetLinePoints($$.getShapeIndices($$.isLineType), !1);
                                    $$.circleY = function (d, i) {
                                        var id = d.id;
                                        return $$.isGrouped(id) ? getPoints(d, i)[0][1] : $$.getYScale(id)($$.getBaseValue(d));
                                    };
                                },
                                getCircles: function getCircles(i, id) {
                                    var $$ = this, suffix = isValue(i) ? '-'.concat(i) : '';
                                    return (id ? $$.main.selectAll('.'.concat(config_classes.circles).concat($$.getTargetSelectorSuffix(id))) : $$.main).selectAll('.'.concat(config_classes.circle).concat(suffix));
                                },
                                expandCircles: function expandCircles(i, id, reset) {
                                    var $$ = this, r = $$.pointExpandedR.bind($$);
                                    reset && $$.unexpandCircles();
                                    var circles = $$.getCircles(i, id).classed(config_classes.EXPANDED, !0), scale = r(circles) / $$.config.point_r, ratio = 1 - scale;
                                    $$.isCirclePoint() ? circles.attr('r', r) : circles.each(function () {
                                        var point = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this);
                                        if (this.tagName === 'circle')
                                            point.attr('r', r);
                                        else {
                                            var _this$getBBox = this.getBBox(), width = _this$getBBox.width, height = _this$getBBox.height, x = ratio * (+point.attr('x') + width / 2), y = ratio * (+point.attr('y') + height / 2);
                                            point.attr('transform', 'translate('.concat(x, ' ').concat(y, ') scale(').concat(scale, ')'));
                                        }
                                    });
                                },
                                unexpandCircles: function unexpandCircles(i) {
                                    var $$ = this, r = $$.pointR.bind($$), circles = $$.getCircles(i).filter(function () {
                                            return Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this).classed(config_classes.EXPANDED);
                                        }).classed(config_classes.EXPANDED, !1);
                                    circles.attr('r', r), $$.isCirclePoint() || circles.attr('transform', 'scale('.concat(r(circles) / $$.config.point_r, ')'));
                                },
                                pointR: function (d) {
                                    var $$ = this, config = $$.config, pointR = config.point_r, r = pointR;
                                    return $$.isStepType(d) ? r = 0 : $$.isBubbleType(d) ? r = $$.getBubbleR(d) : isFunction(pointR) && (r = pointR(d)), r;
                                },
                                pointExpandedR: function pointExpandedR(d) {
                                    var $$ = this, config = $$.config, scale = $$.isBubbleType(d) ? 1.15 : 1.75;
                                    return config.point_focus_expand_enabled ? config.point_focus_expand_r || $$.pointR(d) * scale : $$.pointR(d);
                                },
                                pointSelectR: function pointSelectR(d) {
                                    var $$ = this, selectR = $$.config.point_select_r;
                                    return isFunction(selectR) ? selectR(d) : selectR || $$.pointR(d) * 4;
                                },
                                isWithinCircle: function isWithinCircle(node, r) {
                                    var mouse = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['mouse'])(node), element = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(node), prefix = this.isCirclePoint() ? 'c' : '', cx = +element.attr(''.concat(prefix, 'x')), cy = +element.attr(''.concat(prefix, 'y'));
                                    if (!(cx || cy) && node.nodeType === 1) {
                                        var _ref = node.getBBox ? node.getBBox() : node.getBoundingClientRect(), x = _ref.x, y = _ref.y;
                                        cx = x, cy = y;
                                    }
                                    return Math.sqrt(Math.pow(cx - mouse[0], 2) + Math.pow(cy - mouse[1], 2)) < (r || this.config.point_sensitivity);
                                },
                                isWithinStep: function isWithinStep(that, y) {
                                    return Math.abs(y - Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['mouse'])(that)[1]) < 30;
                                },
                                shouldDrawPointsForLine: function shouldDrawPointsForLine(d) {
                                    var linePoint = this.config.line_point;
                                    return linePoint === !0 || isArray(linePoint) && linePoint.indexOf(d.id) !== -1;
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                hasValidPointType: function hasValidPointType(type) {
                                    return /^(circle|rect(angle)?|polygon|ellipse|use)$/i.test(type || this.config.point_type);
                                },
                                hasValidPointDrawMethods: function hasValidPointDrawMethods(type) {
                                    var pointType = type || this.config.point_type;
                                    return isObjectType(pointType) && isFunction(pointType.create) && isFunction(pointType.update);
                                },
                                insertPointInfoDefs: function insertPointInfoDefs(point, id) {
                                    var $$ = this, copyAttr = function (from, target) {
                                            for (var name, attribs = from.attributes, i = 0; name = attribs[i]; i++)
                                                name = name.name, target.setAttribute(name, from.getAttribute(name));
                                        }, doc = new DOMParser().parseFromString(point, 'image/svg+xml'), node = doc.documentElement, clone = browser_doc.createElementNS(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['namespaces'].svg, node.nodeName.toLowerCase());
                                    if (clone.id = id, clone.style.fill = 'inherit', clone.style.stroke = 'inherit', copyAttr(node, clone), node.childNodes && node.childNodes.length) {
                                        var parent = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(clone);
                                        'innerHTML' in clone ? parent.html(node.innerHTML) : toArray(node.childNodes).forEach(function (v) {
                                            copyAttr(v, parent.append(v.tagName).node());
                                        });
                                    }
                                    $$.defs.node().appendChild(clone);
                                },
                                pointFromDefs: function pointFromDefs(id) {
                                    return this.defs.select('#'.concat(id));
                                },
                                updatePointClass: function updatePointClass(d) {
                                    var $$ = this, pointClass = !1;
                                    return (isObject(d) || $$.mainCircle) && (pointClass = d === !0 ? $$.mainCircle.each(function (d) {
                                        var className = $$.classCircle.bind($$)(d);
                                        this.getAttribute('class').indexOf(config_classes.EXPANDED) > -1 && (className += ' '.concat(config_classes.EXPANDED)), this.setAttribute('class', className);
                                    }) : $$.classCircle(d)), pointClass;
                                },
                                generatePoint: function generatePoint() {
                                    var $$ = this, config = $$.config, ids = [], pattern = notEmpty(config.point_pattern) ? config.point_pattern : [config.point_type];
                                    return function (method, context) {
                                        for (var _len = arguments.length, args = Array(_len > 2 ? _len - 2 : 0), _key = 2; _key < _len; _key++)
                                            args[_key - 2] = arguments[_key];
                                        return function (d) {
                                            var id = d.id || d.data && d.data.id || d, element = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this);
                                            ids.indexOf(id) < 0 && ids.push(id);
                                            var point = pattern[ids.indexOf(id) % pattern.length];
                                            if ($$.hasValidPointType(point))
                                                point = $$[point];
                                            else if (!$$.hasValidPointDrawMethods(point)) {
                                                var pointId = ''.concat($$.datetimeId, '-point-').concat(id), pointFromDefs = $$.pointFromDefs(pointId);
                                                if (pointFromDefs.size() < 1 && $$.insertPointInfoDefs(point, pointId), method === 'create')
                                                    return $$.custom.create.bind(context).apply(void 0, [
                                                        element,
                                                        pointId
                                                    ].concat(args));
                                                if (method === 'update')
                                                    return $$.custom.update.bind(context).apply(void 0, [element].concat(args));
                                            }
                                            return point[method].bind(context).apply(void 0, [element].concat(args));
                                        };
                                    };
                                },
                                getTransitionName: function getTransitionName() {
                                    return getRandom();
                                },
                                custom: {
                                    create: function create(element, id, sizeFn, fillStyleFn) {
                                        return element.append('use').attr('xlink:href', '#'.concat(id)).attr('class', this.updatePointClass.bind(this)).style('fill', fillStyleFn).node();
                                    },
                                    update: function update(element, xPosFn, yPosFn, opacityStyleFn, fillStyleFn, withTransition, flow, selectedCircles) {
                                        var $$ = this, _element$node$getBBox = element.node().getBBox(), width = _element$node$getBBox.width, height = _element$node$getBBox.height, xPosFn2 = function (d) {
                                                return xPosFn(d) - width / 2;
                                            }, mainCircles = element;
                                        if (withTransition) {
                                            var transitionName = $$.getTransitionName();
                                            flow && mainCircles.attr('x', xPosFn2), mainCircles = mainCircles.transition(transitionName), selectedCircles.transition($$.getTransitionName());
                                        }
                                        return mainCircles.attr('x', xPosFn2).attr('y', function yPosFn2(d) {
                                            return yPosFn(d) - height / 2;
                                        }).style('opacity', opacityStyleFn).style('fill', fillStyleFn);
                                    }
                                },
                                circle: {
                                    create: function create(element, sizeFn, fillStyleFn) {
                                        return element.append('circle').attr('class', this.updatePointClass.bind(this)).attr('r', sizeFn).style('fill', fillStyleFn).node();
                                    },
                                    update: function update(element, xPosFn, yPosFn, opacityStyleFn, fillStyleFn, withTransition, flow, selectedCircles) {
                                        var $$ = this, mainCircles = element;
                                        if ($$.hasType('bubble') && mainCircles.attr('r', $$.pointR.bind($$)), withTransition) {
                                            var transitionName = $$.getTransitionName();
                                            flow && mainCircles.attr('cx', xPosFn), mainCircles.attr('cx') && (mainCircles = mainCircles.transition(transitionName)), selectedCircles.transition($$.getTransitionName());
                                        }
                                        return mainCircles.attr('cx', xPosFn).attr('cy', yPosFn).style('opacity', opacityStyleFn).style('fill', fillStyleFn);
                                    }
                                },
                                rectangle: {
                                    create: function create(element, sizeFn, fillStyleFn) {
                                        var rectSizeFn = function (d) {
                                            return sizeFn(d) * 2;
                                        };
                                        return element.append('rect').attr('class', this.updatePointClass.bind(this)).attr('width', rectSizeFn).attr('height', rectSizeFn).style('fill', fillStyleFn).node();
                                    },
                                    update: function update(element, xPosFn, yPosFn, opacityStyleFn, fillStyleFn, withTransition, flow, selectedCircles) {
                                        var $$ = this, r = $$.config.point_r, rectXPosFn = function (d) {
                                                return xPosFn(d) - r;
                                            }, mainCircles = element;
                                        if (withTransition) {
                                            var transitionName = $$.getTransitionName();
                                            flow && mainCircles.attr('x', rectXPosFn), mainCircles = mainCircles.transition(transitionName), selectedCircles.transition($$.getTransitionName());
                                        }
                                        return mainCircles.attr('x', rectXPosFn).attr('y', function rectYPosFn(d) {
                                            return yPosFn(d) - r;
                                        }).style('opacity', opacityStyleFn).style('fill', fillStyleFn);
                                    }
                                }
                            });
                            function getPosition(isClockwise, type, edge, pos, range, ratio) {
                                var index = isClockwise && pos > 0 ? edge - pos : pos, r = 2 * Math.PI, func = type === 'x' ? Math.sin : Math.cos;
                                return range * (1 - ratio * func(index * r / edge));
                            }
                            var radar_cacheKey = '$radarPoints';
                            extend(ChartInternal_ChartInternal.prototype, {
                                initRadar: function initRadar() {
                                    var $$ = this, config = $$.config;
                                    $$.hasType('radar') && ($$.radars = $$.main.select('.'.concat(config_classes.chart)).append('g').attr('class', config_classes.chartRadars), $$.radars.levels = $$.radars.append('g').attr('class', config_classes.levels), $$.radars.axes = $$.radars.append('g').attr('class', config_classes.axis), $$.radars.shapes = $$.radars.append('g').attr('class', config_classes.shapes), $$.maxValue = config.radar_axis_max || $$.getMinMaxData().max[0].value);
                                },
                                getRadarSize: function getRadarSize() {
                                    var $$ = this, config = $$.config, padding = config.axis_x_categories.length < 4 ? -20 : 10, size = (Math.min($$.arcWidth, $$.arcHeight) - padding) / 2;
                                    return [
                                        size,
                                        size
                                    ];
                                },
                                updateTargetsForRadar: function updateTargetsForRadar(targets) {
                                    var $$ = this, config = $$.config;
                                    isEmpty(config.axis_x_categories) && (config.axis_x_categories = getRange(0, getMinMax('max', targets.map(function (v) {
                                        return v.values.length;
                                    })))), $$.generateRadarPoints();
                                },
                                getRadarPosition: function getRadarPosition(type, index, range, ratio) {
                                    var $$ = this, config = $$.config, _$$$getRadarSize = $$.getRadarSize(), _$$$getRadarSize2 = _slicedToArray(_$$$getRadarSize, 2), width = _$$$getRadarSize2[0], height = _$$$getRadarSize2[1], edge = config.axis_x_categories.length, isClockwise = config.radar_direction_clockwise, pos = toArray(type).map(function (v) {
                                            return getPosition(isClockwise, v, edge, index, isDefined(range) ? range : type === 'x' ? width : height, isNumber(ratio) ? ratio : config.radar_size_ratio);
                                        });
                                    return pos.length === 1 ? pos[0] : pos;
                                },
                                generateRadarPoints: function generateRadarPoints() {
                                    var $$ = this, targets = $$.data.targets, _$$$getRadarSize3 = $$.getRadarSize(), _$$$getRadarSize4 = _slicedToArray(_$$$getRadarSize3, 2), width = _$$$getRadarSize4[0], height = _$$$getRadarSize4[1], points = $$.getCache(radar_cacheKey) || {}, size = points._size;
                                    size && (size.width === width || size.height === height) || (targets.forEach(function (d) {
                                        points[d.id] = d.values.map(function (v, i) {
                                            return $$.getRadarPosition([
                                                'x',
                                                'y'
                                            ], i, undefined, $$.getRatio('radar', v));
                                        });
                                    }), points._size = {
                                        width: width,
                                        height: height
                                    }, $$.addCache(radar_cacheKey, points));
                                },
                                redrawRadar: function redrawRadar(durationForExit) {
                                    var $$ = this, translate = $$.getTranslate('radar');
                                    translate && ($$.radars.attr('transform', translate), $$.main.selectAll('.'.concat(config_classes.circles)).attr('transform', translate), $$.main.select('.'.concat(config_classes.chartTexts)).attr('transform', translate), $$.generateRadarPoints(), $$.updateRadarLevel(), $$.updateRadarAxes(), $$.updateRadarShape(durationForExit));
                                },
                                generateGetRadarPoints: function generateGetRadarPoints() {
                                    var $$ = this, points = $$.getCache(radar_cacheKey);
                                    return function (d, i) {
                                        var point = points[d.id][i];
                                        return [
                                            point,
                                            point,
                                            point,
                                            point
                                        ];
                                    };
                                },
                                updateRadarLevel: function updateRadarLevel() {
                                    var $$ = this, config = $$.config, _$$$getRadarSize5 = $$.getRadarSize(), _$$$getRadarSize6 = _slicedToArray(_$$$getRadarSize5, 2), width = _$$$getRadarSize6[0], height = _$$$getRadarSize6[1], depth = config.radar_level_depth, edge = config.axis_x_categories.length, showText = config.radar_level_text_show, radarLevels = $$.radars.levels, levelData = getRange(0, depth), radius = config.radar_size_ratio * Math.min(width, height), levelRatio = levelData.map(function (l) {
                                            return radius * ((l + 1) / depth);
                                        }), levelTextFormat = config.radar_level_text_format, points = levelData.map(function (v) {
                                            var range = levelRatio[v], pos = getRange(0, edge).map(function (i) {
                                                    return $$.getRadarPosition([
                                                        'x',
                                                        'y'
                                                    ], i, range, 1).join(',');
                                                });
                                            return pos.join(' ');
                                        }), level = radarLevels.selectAll('.'.concat(config_classes.level)).data(levelData);
                                    level.exit().remove();
                                    var levelEnter = level.enter().append('g').attr('class', function (d, i) {
                                        return ''.concat(config_classes.level, ' ').concat(config_classes.level, '-').concat(i);
                                    });
                                    levelEnter.append('polygon').style('visibility', config.radar_level_show ? null : 'hidden'), showText && (radarLevels.select('text').empty() && radarLevels.append('text').attr('dx', '-.5em').attr('dy', '-.7em').style('text-anchor', 'end').text(function () {
                                        return levelTextFormat(0);
                                    }), levelEnter.append('text').attr('dx', '-.5em').style('text-anchor', 'end').text(function (d) {
                                        return levelTextFormat($$.maxValue / levelData.length * (d + 1));
                                    })), levelEnter.merge(level).attr('transform', function (d) {
                                        return 'translate('.concat(width - levelRatio[d], ', ').concat(height - levelRatio[d], ')');
                                    }).selectAll('polygon').attr('points', function (d) {
                                        return points[d];
                                    }), showText && radarLevels.selectAll('text').attr('x', function (d) {
                                        return isUndefined(d) ? width : points[d].split(',')[0];
                                    }).attr('y', function (d) {
                                        return isUndefined(d) ? height : 0;
                                    });
                                },
                                updateRadarAxes: function updateRadarAxes() {
                                    var $$ = this, config = $$.config, _$$$getRadarSize7 = $$.getRadarSize(), _$$$getRadarSize8 = _slicedToArray(_$$$getRadarSize7, 2), width = _$$$getRadarSize8[0], height = _$$$getRadarSize8[1], categories = config.axis_x_categories, axis = $$.radars.axes.selectAll('g').data(categories);
                                    axis.exit().remove();
                                    var axisEnter = axis.enter().append('g').attr('class', function (d, i) {
                                        return ''.concat(config_classes.axis, '-').concat(i);
                                    });
                                    if (config.radar_axis_line_show && axisEnter.append('line'), config.radar_axis_text_show && axisEnter.append('text'), axis = axisEnter.merge(axis), config.radar_axis_line_show && axis.select('line').attr('x1', width).attr('y1', height).attr('x2', function (d, i) {
                                            return $$.getRadarPosition('x', i);
                                        }).attr('y2', function (d, i) {
                                            return $$.getRadarPosition('y', i);
                                        }), config.radar_axis_text_show) {
                                        var _config$radar_axis_te = config.radar_axis_text_position, _config$radar_axis_te2 = _config$radar_axis_te.x, x = _config$radar_axis_te2 === void 0 ? 0 : _config$radar_axis_te2, _config$radar_axis_te3 = _config$radar_axis_te.y, y = _config$radar_axis_te3 === void 0 ? 0 : _config$radar_axis_te3;
                                        axis.select('text').style('text-anchor', 'middle').attr('dy', '.5em').call(function (selection) {
                                            selection.each(function (d) {
                                                setTextValue(Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this), d + '', [
                                                    -0.6,
                                                    1.2
                                                ]);
                                            });
                                        }).datum(function (d, i) {
                                            return { index: i };
                                        }).attr('transform', function (d) {
                                            isUndefined(this.width) && (this.width = this.getBoundingClientRect().width / 2);
                                            var posX = $$.getRadarPosition('x', d.index, undefined, 1), posY = Math.round($$.getRadarPosition('y', d.index, undefined, 1));
                                            return posX > width ? posX += this.width + x : Math.round(posX) < width && (posX -= this.width + x), posY > height ? (posY / 2 === height && this.firstChild.tagName === 'tspan' && this.firstChild.setAttribute('dy', '0em'), posY += y) : posY < height && (posY -= y), 'translate('.concat(posX, ' ').concat(posY, ')');
                                        });
                                    }
                                    $$.bindEvent();
                                },
                                bindEvent: function bindEvent() {
                                    var _this = this, $$ = this, config = $$.config;
                                    if (config.interaction_enabled) {
                                        var isMouse = $$.inputType === 'mouse', getIndex = function () {
                                                var target = external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['event'].target;
                                                /tspan/i.test(target.tagName) && (target = target.parentNode);
                                                var d = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(target).datum();
                                                return d && Object.keys(d).length === 1 ? d.index : undefined;
                                            }, hide = function () {
                                                var index = getIndex(), noIndex = isUndefined(index);
                                                (isMouse || noIndex) && (_this.hideTooltip(), _this.unexpandCircles(), isMouse ? $$.setOverOut(!1, index) : noIndex && $$.callOverOutForTouch());
                                            };
                                        $$.radars.select('.'.concat(config_classes.axis)).on(isMouse ? 'mouseover ' : 'touchstart', function () {
                                            if (!$$.transiting) {
                                                var index = getIndex();
                                                $$.selectRectForSingle($$.svg.node(), null, index), isMouse ? $$.setOverOut(!0, index) : $$.callOverOutForTouch(index);
                                            }
                                        }).on('mouseout', isMouse ? hide : null), isMouse || $$.svg.on('touchstart', hide);
                                    }
                                },
                                updateRadarShape: function updateRadarShape(durationForExit) {
                                    var $$ = this, targets = $$.data.targets, points = $$.getCache(radar_cacheKey), areas = $$.radars.shapes.selectAll('polygon').data(targets), areasEnter = areas.enter().append('g').attr('class', $$.classChartRadar.bind($$));
                                    areas.exit().transition().duration(durationForExit).remove(), areasEnter.append('polygon').merge(areas).style('fill', $$.color).style('stroke', $$.color).attr('points', function (d) {
                                        return points[d.id].join(' ');
                                    });
                                },
                                radarCircleX: function radarCircleX(d) {
                                    return this.getCache(radar_cacheKey)[d.id][d.index][0];
                                },
                                radarCircleY: function radarCircleY(d) {
                                    return this.getCache(radar_cacheKey)[d.id][d.index][1];
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                initText: function initText() {
                                    var $$ = this;
                                    $$.main.select('.'.concat(config_classes.chart)).append('g').attr('class', config_classes.chartTexts), $$.mainText = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['selectAll'])([]);
                                },
                                updateTargetsForText: function updateTargetsForText(targets) {
                                    var $$ = this, classChartText = $$.classChartText.bind($$), classTexts = $$.classTexts.bind($$), classFocus = $$.classFocus.bind($$), mainTextUpdate = $$.main.select('.'.concat(config_classes.chartTexts)).selectAll('.'.concat(config_classes.chartText)).data(targets).attr('class', function (d) {
                                            return classChartText(d) + classFocus(d);
                                        }), mainTextEnter = mainTextUpdate.enter().append('g').attr('class', classChartText).style('opacity', '0').style('pointer-events', 'none');
                                    mainTextEnter.append('g').attr('class', classTexts);
                                },
                                updateText: function updateText(durationForExit) {
                                    var _this = this, $$ = this, config = $$.config, dataFn = $$.labelishData.bind($$), classText = $$.classText.bind($$);
                                    $$.mainText = $$.main.selectAll('.'.concat(config_classes.texts)).selectAll('.'.concat(config_classes.text)).data(function (d) {
                                        return _this.isRadarType(d) ? d.values : dataFn(d);
                                    }), $$.mainText.exit().transition().duration(durationForExit).style('fill-opacity', '0').remove(), $$.mainText = $$.mainText.enter().append('text').merge($$.mainText).attr('class', classText).attr('text-anchor', function (d) {
                                        return config.axis_rotated ? d.value < 0 ? 'end' : 'start' : 'middle';
                                    }).style('fill', $$.updateTextColor.bind($$)).style('fill-opacity', '0').text(function (d, i, j) {
                                        var value = $$.isBubbleZType(d) ? $$.getBubbleZData(d.value, 'z') : d.value;
                                        return $$.dataLabelFormat(d.id)(value, d.id, i, j);
                                    });
                                },
                                updateTextColor: function updateTextColor(d) {
                                    var color, $$ = this, labelColors = $$.config.data_labels_colors;
                                    return isString(labelColors) ? color = labelColors : isObject(labelColors) && (color = labelColors[d.id]), color || $$.color(d);
                                },
                                redrawText: function redrawText(x, y, forFlow, withTransition) {
                                    var $$ = this, t = getRandom(), opacityForText = forFlow ? 0 : $$.opacityForText.bind($$);
                                    return $$.mainText.each(function (d, i) {
                                        var text = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this);
                                        (withTransition && text.attr('x') ? text.transition(t) : text).attr('x', x.bind(this)(d, i)).attr('y', y.bind(this)(d, i)).style('fill', $$.updateTextColor.bind($$)).style('fill-opacity', opacityForText);
                                    }), !0;
                                },
                                getTextRect: function getTextRect(element, className) {
                                    var $$ = this, base = element.node ? element.node() : element;
                                    /text/i.test(base.tagName) || (base = base.querySelector('text'));
                                    var text = base.textContent, cacheKey = '$'.concat(text.replace(/\W/g, '_')), rect = $$.getCache(cacheKey);
                                    return rect || ($$.svg.append('text').style('visibility', 'hidden').style('font', Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(base).style('font')).classed(className, !0).text(text).call(function (v) {
                                        rect = getBoundingRect(v.node());
                                    }).remove(), $$.addCache(cacheKey, rect)), rect;
                                },
                                generateXYForText: function generateXYForText(indices, forX) {
                                    var $$ = this, types = Object.keys(indices), points = {}, getter = forX ? $$.getXForText : $$.getYForText;
                                    return $$.hasType('radar') && types.push('radar'), types.forEach(function (v) {
                                        points[v] = $$['generateGet'.concat(capitalize(v), 'Points')](indices[v], !1);
                                    }), function (d, i) {
                                        var type = $$.isAreaType(d) && 'area' || $$.isBarType(d) && 'bar' || $$.isRadarType(d) && 'radar' || 'line';
                                        return getter.call($$, points[type](d, i), d, this);
                                    };
                                },
                                getCenteredTextPos: function getCenteredTextPos(d, points, textElement) {
                                    var $$ = this, config = $$.config, isRotated = config.axis_rotated;
                                    if (config.data_labels.centered && $$.isBarType(d)) {
                                        var rect = getBoundingRect(textElement), isPositive = d.value >= 0;
                                        if (isRotated) {
                                            var w = (isPositive ? points[1][1] - points[0][1] : points[0][1] - points[1][1]) / 2 + rect.width / 2;
                                            return isPositive ? -w - 3 : w + 2;
                                        }
                                        var h = (isPositive ? points[0][1] - points[1][1] : points[1][1] - points[0][1]) / 2 + rect.height / 2;
                                        return isPositive ? h : -h - 2;
                                    }
                                    return 0;
                                },
                                getTextPos: function getTextPos(id, type) {
                                    var pos = this.config.data_labels_position;
                                    return (id in pos ? pos[id] : pos)[type] || 0;
                                },
                                getXForText: function getXForText(points, d, textElement) {
                                    var xPos, padding, $$ = this, config = $$.config, isRotated = config.axis_rotated;
                                    if (isRotated ? (padding = $$.isBarType(d) ? 4 : 6, xPos = points[2][1] + padding * (d.value < 0 ? -1 : 1)) : xPos = $$.hasType('bar') ? (points[2][0] + points[0][0]) / 2 : points[0][0], d.value === null)
                                        if (xPos > $$.width) {
                                            var _getBoundingRect = getBoundingRect(textElement), width = _getBoundingRect.width;
                                            xPos = $$.width - width;
                                        } else
                                            xPos < 0 && (xPos = 4);
                                    return isRotated && (xPos += $$.getCenteredTextPos(d, points, textElement)), xPos + $$.getTextPos(d.id, 'x');
                                },
                                getYForText: function getYForText(points, d, textElement) {
                                    var yPos, $$ = this, config = $$.config, isRotated = config.axis_rotated, r = config.point_r, rect = getBoundingRect(textElement), baseY = 3;
                                    if (isRotated)
                                        yPos = (points[0][0] + points[2][0] + rect.height * 0.6) / 2;
                                    else if (yPos = points[2][1], isNumber(r) && r > 5 && ($$.isLineType(d) || $$.isScatterType(d)) && (baseY += config.point_r / 2.3), d.value < 0 || d.value === 0 && !$$.hasPositiveValue && $$.hasNegativeValue)
                                        yPos += rect.height + ($$.isBarType(d) ? -baseY : baseY);
                                    else {
                                        var diff = -baseY * 2;
                                        $$.isBarType(d) ? diff = -baseY : $$.isBubbleType(d) && (diff = baseY), yPos += diff;
                                    }
                                    if (d.value === null && !isRotated) {
                                        var boxHeight = rect.height;
                                        yPos < boxHeight ? yPos = boxHeight : yPos > this.height && (yPos = this.height - 4);
                                    }
                                    return isRotated || (yPos += $$.getCenteredTextPos(d, points, textElement)), yPos + $$.getTextPos(d.id, 'y');
                                },
                                markOverlapped: function markOverlapped(id, $$, selector) {
                                    var textNodes = $$.arcs.selectAll(selector), filteredTextNodes = textNodes.filter(function (node) {
                                            return node.data.id !== id;
                                        }), textNode = textNodes.filter(function (node) {
                                            return node.data.id === id;
                                        }), translate = getTranslation(textNode.node()), calcHypo = function (x, y) {
                                            return Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2));
                                        };
                                    textNode.node() && filteredTextNodes.each(function () {
                                        var coordinate = getTranslation(this), filteredTextNode = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this), nodeForWidth = calcHypo(translate.e, translate.f) > calcHypo(coordinate.e, coordinate.f) ? textNode : filteredTextNode, overlapsX = Math.ceil(Math.abs(translate.e - coordinate.e)) < Math.ceil(nodeForWidth.node().getComputedTextLength()), overlapsY = Math.ceil(Math.abs(translate.f - coordinate.f)) < parseInt(textNode.style('font-size'), 10);
                                        filteredTextNode.classed(config_classes.TextOverlapping, overlapsX && overlapsY);
                                    });
                                },
                                undoMarkOverlapped: function undoMarkOverlapped($$, selector) {
                                    $$.arcs.selectAll(selector).each(function () {
                                        Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['selectAll'])([
                                            this,
                                            this.previousSibling
                                        ]).classed(config_classes.TextOverlapping, !1);
                                    });
                                }
                            });
                            var TYPES = {
                                Area: [
                                    'area',
                                    'area-spline',
                                    'area-spline-range',
                                    'area-line-range',
                                    'area-step'
                                ],
                                AreaRange: [
                                    'area-spline-range',
                                    'area-line-range'
                                ],
                                Arc: [
                                    'pie',
                                    'donut',
                                    'gauge',
                                    'radar'
                                ],
                                Line: [
                                    'line',
                                    'spline',
                                    'area',
                                    'area-spline',
                                    'area-spline-range',
                                    'area-line-range',
                                    'step',
                                    'area-step'
                                ],
                                Step: [
                                    'step',
                                    'area-step'
                                ],
                                Spline: [
                                    'spline',
                                    'area-spline',
                                    'area-spline-range'
                                ]
                            };
                            extend(ChartInternal_ChartInternal.prototype, {
                                setTargetType: function setTargetType(targetIds, type) {
                                    var $$ = this, config = $$.config;
                                    $$.mapToTargetIds(targetIds).forEach(function (id) {
                                        $$.withoutFadeIn[id] = type === config.data_types[id], config.data_types[id] = type;
                                    }), targetIds || (config.data_type = type);
                                },
                                hasType: function hasType(type, targetsValue) {
                                    var $$ = this, types = $$.config.data_types, targets = targetsValue || $$.data.targets, has = !1;
                                    return targets && targets.length ? targets.forEach(function (target) {
                                        var t = types[target.id];
                                        (t && t.indexOf(type) >= 0 || !t && type === 'line') && (has = !0);
                                    }) : Object.keys(types).length ? Object.keys(types).forEach(function (id) {
                                        types[id] === type && (has = !0);
                                    }) : has = $$.config.data_type === type, has;
                                },
                                hasTypeOf: function hasTypeOf(type, targets) {
                                    var _this = this, exclude = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
                                    return !TYPES[type].filter(function (v) {
                                        return exclude.indexOf(v) === -1;
                                    }).every(function (v) {
                                        return !_this.hasType(v, targets);
                                    });
                                },
                                isTypeOf: function isTypeOf(d, type) {
                                    var id = isString(d) ? d : d.id, dataType = this.config.data_types[id];
                                    return isArray(type) ? type.indexOf(dataType) >= 0 : dataType === type;
                                },
                                hasArcType: function hasArcType(targets, exclude) {
                                    return this.hasTypeOf('Arc', targets, exclude);
                                },
                                hasMultiArcGauge: function hasMultiArcGauge() {
                                    return this.hasType('gauge') && this.config.gauge_type === 'multi';
                                },
                                isLineType: function isLineType(d) {
                                    var id = isString(d) ? d : d.id;
                                    return !this.config.data_types[id] || this.isTypeOf(id, TYPES.Line);
                                },
                                isStepType: function isStepType(d) {
                                    return this.isTypeOf(d, TYPES.Step);
                                },
                                isSplineType: function isSplineType(d) {
                                    return this.isTypeOf(d, TYPES.Spline);
                                },
                                isAreaType: function isAreaType(d) {
                                    return this.isTypeOf(d, TYPES.Area);
                                },
                                isAreaRangeType: function isAreaRangeType(d) {
                                    return this.isTypeOf(d, TYPES.AreaRange);
                                },
                                isBarType: function isBarType(d) {
                                    return this.isTypeOf(d, 'bar');
                                },
                                isBubbleType: function isBubbleType(d) {
                                    return this.isTypeOf(d, 'bubble');
                                },
                                isScatterType: function isScatterType(d) {
                                    return this.isTypeOf(d, 'scatter');
                                },
                                isPieType: function isPieType(d) {
                                    return this.isTypeOf(d, 'pie');
                                },
                                isGaugeType: function isGaugeType(d) {
                                    return this.isTypeOf(d, 'gauge');
                                },
                                isDonutType: function isDonutType(d) {
                                    return this.isTypeOf(d, 'donut');
                                },
                                isRadarType: function isRadarType(d) {
                                    return this.isTypeOf(d, 'radar');
                                },
                                isArcType: function isArcType(d) {
                                    return this.isPieType(d) || this.isDonutType(d) || this.isGaugeType(d) || this.isRadarType(d);
                                },
                                isCirclePoint: function isCirclePoint() {
                                    var config = this.config, pattern = config.point_pattern;
                                    return config.point_type === 'circle' && (!pattern || isArray(pattern) && pattern.length === 0);
                                },
                                lineData: function lineData(d) {
                                    return this.isLineType(d) ? [d] : [];
                                },
                                arcData: function arcData(d) {
                                    return this.isArcType(d.data) ? [d] : [];
                                },
                                barData: function barData(d) {
                                    return this.isBarType(d) ? d.values : [];
                                },
                                labelishData: function labelishData(d) {
                                    return this.isBarType(d) || this.isLineType(d) || this.isScatterType(d) || this.isBubbleType(d) || this.isRadarType(d) ? d.values : [];
                                },
                                barLineBubbleData: function barLineBubbleData(d) {
                                    return this.isBarType(d) || this.isLineType(d) || this.isBubbleType(d) ? d.values : [];
                                },
                                isInterpolationType: function isInterpolationType(type) {
                                    return [
                                        'basis',
                                        'basis-closed',
                                        'basis-open',
                                        'bundle',
                                        'cardinal',
                                        'cardinal-closed',
                                        'cardinal-open',
                                        'catmull-rom',
                                        'catmull-rom-closed',
                                        'catmull-rom-open',
                                        'linear',
                                        'linear-closed',
                                        'monotone-x',
                                        'monotone-y',
                                        'natural'
                                    ].indexOf(type) >= 0;
                                }
                            });
                            var getGridTextAnchor = function (d) {
                                    return isValue(d.position) || 'end';
                                }, getGridTextDx = function (d) {
                                    return d.position === 'start' ? 4 : d.position === 'middle' ? 0 : -4;
                                }, getGridTextX = function (isX, width, height) {
                                    return function (d) {
                                        var x = isX ? 0 : width;
                                        return d.position === 'start' ? x = isX ? -height : 0 : d.position === 'middle' && (x = (isX ? -height : width) / 2), x;
                                    };
                                };
                            extend(ChartInternal_ChartInternal.prototype, {
                                initGrid: function initGrid() {
                                    var $$ = this;
                                    $$.xgrid = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['selectAll'])([]), $$.initGridLines(), $$.initFocusGrid();
                                },
                                initGridLines: function initGridLines() {
                                    var $$ = this, config = $$.config;
                                    (config.grid_x_lines.length || config.grid_y_lines.length) && ($$.gridLines = $$.main.insert('g', '.'.concat(config_classes.chart).concat(config.grid_lines_front ? ' + *' : '')).attr('clip-path', $$.clipPathForGrid).attr('class', ''.concat(config_classes.grid, ' ').concat(config_classes.gridLines)), $$.gridLines.append('g').attr('class', config_classes.xgridLines), $$.gridLines.append('g').attr('class', config_classes.ygridLines), $$.xgridLines = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['selectAll'])([]));
                                },
                                updateXGrid: function updateXGrid(withoutUpdate) {
                                    var $$ = this, config = $$.config, isRotated = config.axis_rotated, xgridData = $$.generateGridData(config.grid_x_type, $$.x), tickOffset = $$.isCategorized() ? $$.xAxis.tickOffset() : 0, pos = function (d) {
                                            return ($$.zoomScale || $$.x)(d) + tickOffset * (isRotated ? -1 : 1);
                                        };
                                    $$.xgridAttr = isRotated ? {
                                        'x1': 0,
                                        'x2': $$.width,
                                        'y1': pos,
                                        'y2': pos
                                    } : {
                                        'x1': pos,
                                        'x2': pos,
                                        'y1': 0,
                                        'y2': $$.height
                                    }, $$.xgrid = $$.main.select('.'.concat(config_classes.xgrids)).selectAll('.'.concat(config_classes.xgrid)).data(xgridData), $$.xgrid.exit().remove(), $$.xgrid = $$.xgrid.enter().append('line').attr('class', config_classes.xgrid).merge($$.xgrid), withoutUpdate || $$.xgrid.each(function () {
                                        var grid = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this);
                                        Object.keys($$.xgridAttr).forEach(function (id) {
                                            grid.attr(id, $$.xgridAttr[id]).style('opacity', function () {
                                                return grid.attr(isRotated ? 'y1' : 'x1') === (isRotated ? $$.height : 0) ? '0' : '1';
                                            });
                                        });
                                    });
                                },
                                updateYGrid: function updateYGrid() {
                                    var $$ = this, config = $$.config, isRotated = config.axis_rotated, gridValues = $$.yAxis.tickValues() || $$.y.ticks(config.grid_y_ticks), pos = function (d) {
                                            return Math.ceil($$.y(d));
                                        };
                                    $$.ygrid = $$.main.select('.'.concat(config_classes.ygrids)).selectAll('.'.concat(config_classes.ygrid)).data(gridValues), $$.ygrid.exit().remove(), $$.ygrid = $$.ygrid.enter().append('line').attr('class', config_classes.ygrid).merge($$.ygrid), $$.ygrid.attr('x1', isRotated ? pos : 0).attr('x2', isRotated ? pos : $$.width).attr('y1', isRotated ? 0 : pos).attr('y2', isRotated ? $$.height : pos), $$.smoothLines($$.ygrid, 'grid');
                                },
                                updateGrid: function updateGrid(duration) {
                                    var $$ = this;
                                    $$.gridLines || $$.initGridLines(), $$.grid.style('visibility', $$.hasArcType() ? 'hidden' : 'visible'), $$.hideGridFocus(), $$.updateXGridLines(duration), $$.updateYGridLines(duration);
                                },
                                updateXGridLines: function updateXGridLines(duration) {
                                    var $$ = this, main = $$.main, config = $$.config, isRotated = config.axis_rotated;
                                    config.grid_x_show && $$.updateXGrid(), $$.xgridLines = main.select('.'.concat(config_classes.xgridLines)).selectAll('.'.concat(config_classes.xgridLine)).data(config.grid_x_lines), $$.xgridLines.exit().transition().duration(duration).style('opacity', '0').remove();
                                    var xgridLine = $$.xgridLines.enter().append('g');
                                    xgridLine.append('line').style('opacity', '0'), xgridLine.append('text').attr('transform', isRotated ? '' : 'rotate(-90)').attr('dy', -5).style('opacity', '0'), $$.xgridLines = xgridLine.merge($$.xgridLines), $$.xgridLines.attr('class', function (d) {
                                        return ''.concat(config_classes.xgridLine, ' ').concat(d['class'] || '').trim();
                                    }).select('text').attr('text-anchor', getGridTextAnchor).attr('dx', getGridTextDx).transition().duration(duration).text(function (d) {
                                        return d.text;
                                    }).transition().style('opacity', '1');
                                },
                                updateYGridLines: function updateYGridLines(duration) {
                                    var $$ = this, main = $$.main, config = $$.config, isRotated = config.axis_rotated;
                                    config.grid_y_show && $$.updateYGrid(), $$.ygridLines = main.select('.'.concat(config_classes.ygridLines)).selectAll('.'.concat(config_classes.ygridLine)).data(config.grid_y_lines), $$.ygridLines.exit().transition().duration(duration).style('opacity', '0').remove();
                                    var ygridLine = $$.ygridLines.enter().append('g');
                                    ygridLine.append('line').style('opacity', '0'), ygridLine.append('text').attr('transform', isRotated ? 'rotate(-90)' : '').style('opacity', '0'), $$.ygridLines = ygridLine.merge($$.ygridLines);
                                    var yv = $$.yv.bind($$);
                                    $$.ygridLines.attr('class', function (d) {
                                        return ''.concat(config_classes.ygridLine, ' ').concat(d['class'] || '').trim();
                                    }).select('line').transition().duration(duration).attr('x1', isRotated ? yv : 0).attr('x2', isRotated ? yv : $$.width).attr('y1', isRotated ? 0 : yv).attr('y2', isRotated ? $$.height : yv).transition().style('opacity', '1'), $$.ygridLines.select('text').attr('text-anchor', getGridTextAnchor).attr('dx', getGridTextDx).transition().duration(duration).attr('dy', -5).attr('x', getGridTextX(isRotated, $$.width, $$.height)).attr('y', yv).text(function (d) {
                                        return d.text;
                                    }).transition().style('opacity', '1');
                                },
                                redrawGrid: function redrawGrid(withTransition) {
                                    var $$ = this, isRotated = $$.config.axis_rotated, xv = $$.xv.bind($$), lines = $$.xgridLines.select('line'), texts = $$.xgridLines.select('text');
                                    return lines = (withTransition ? lines.transition() : lines).attr('x1', isRotated ? 0 : xv).attr('x2', isRotated ? $$.width : xv).attr('y1', isRotated ? xv : 0).attr('y2', isRotated ? xv : $$.height), texts = (withTransition ? texts.transition() : texts).attr('x', getGridTextX(!isRotated, $$.width, $$.height)).attr('y', xv).text(function (d) {
                                        return d.text;
                                    }), [
                                        (withTransition ? lines.transition() : lines).style('opacity', '1'),
                                        (withTransition ? texts.transition() : texts).style('opacity', '1')
                                    ];
                                },
                                initFocusGrid: function initFocusGrid() {
                                    var $$ = this, config = $$.config, isFront = config.grid_front, className = '.'.concat(config_classes[isFront && $$.gridLines ? 'gridLines' : 'chart']).concat(isFront ? ' + *' : '');
                                    $$.grid = $$.main.insert('g', className).attr('clip-path', $$.clipPathForGrid).attr('class', config_classes.grid), config.grid_x_show && $$.grid.append('g').attr('class', config_classes.xgrids), config.grid_y_show && $$.grid.append('g').attr('class', config_classes.ygrids), config.grid_focus_show && ($$.grid.append('g').attr('class', config_classes.xgridFocus).append('line').attr('class', config_classes.xgridFocus), config.grid_focus_y && !config.tooltip_grouped && $$.grid.append('g').attr('class', config_classes.ygridFocus).append('line').attr('class', config_classes.ygridFocus));
                                },
                                showGridFocus: function showGridFocus(selectedData) {
                                    var $$ = this, config = $$.config, isRotated = config.axis_rotated, dataToShow = selectedData.filter(function (d) {
                                            return d && isValue($$.getBaseValue(d));
                                        });
                                    if (!(!config.tooltip_show || dataToShow.length === 0 || $$.hasType('bubble') || $$.hasArcType())) {
                                        var focusEl = $$.main.selectAll('line.'.concat(config_classes.xgridFocus, ', line.').concat(config_classes.ygridFocus)), isEdge = config.grid_focus_edge && !config.tooltip_grouped, xx = $$.xx.bind($$);
                                        focusEl.style('visibility', 'visible').data(dataToShow.concat(dataToShow)).each(function (d) {
                                            var xy, el = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this), pos = {
                                                    x: xx(d),
                                                    y: $$.getYScale(d.id)(d.value)
                                                };
                                            if (el.classed(config_classes.xgridFocus))
                                                xy = isRotated ? [
                                                    null,
                                                    pos.x,
                                                    isEdge ? pos.y : $$.width,
                                                    pos.x
                                                ] : [
                                                    pos.x,
                                                    isEdge ? pos.y : null,
                                                    pos.x,
                                                    $$.height
                                                ];
                                            else {
                                                var isY2 = $$.axis.getId(d.id) === 'y2';
                                                xy = isRotated ? [
                                                    pos.y,
                                                    isEdge && !isY2 ? pos.x : null,
                                                    pos.y,
                                                    isEdge && isY2 ? pos.x : $$.height
                                                ] : [
                                                    isEdge && isY2 ? pos.x : null,
                                                    pos.y,
                                                    isEdge && !isY2 ? pos.x : $$.width,
                                                    pos.y
                                                ];
                                            }
                                            [
                                                'x1',
                                                'y1',
                                                'x2',
                                                'y2'
                                            ].forEach(function (v, i) {
                                                return el.attr(v, xy[i]);
                                            });
                                        }), $$.smoothLines(focusEl, 'grid');
                                    }
                                },
                                hideGridFocus: function hideGridFocus() {
                                    var $$ = this;
                                    $$.inputType === 'mouse' && $$.main.selectAll('line.'.concat(config_classes.xgridFocus, ', line.').concat(config_classes.ygridFocus)).style('visibility', 'hidden');
                                },
                                updateGridFocus: function updateGridFocus() {
                                    var $$ = this, xgridFocus = $$.grid.select('line.'.concat(config_classes.xgridFocus));
                                    if (!($$.inputType === 'touch')) {
                                        var _isRotated = $$.config.axis_rotated;
                                        xgridFocus.attr('x1', _isRotated ? 0 : -10).attr('x2', _isRotated ? $$.width : -10).attr('y1', _isRotated ? -10 : 0).attr('y2', _isRotated ? -10 : $$.height);
                                    } else if (!xgridFocus.empty()) {
                                        var d = xgridFocus.datum();
                                        d && $$.showGridFocus([d]);
                                    }
                                    return !0;
                                },
                                generateGridData: function generateGridData(type, scale) {
                                    var $$ = this, tickNum = $$.main.select('.'.concat(config_classes.axisX)).selectAll('.tick').size(), gridData = [];
                                    if (type === 'year') {
                                        var xDomain = $$.getXDomain(), firstYear = xDomain[0].getFullYear(), lastYear = xDomain[1].getFullYear();
                                        for (var i = firstYear; i <= lastYear; i++)
                                            gridData.push(new Date(''.concat(i, '-01-01 00:00:00')));
                                    } else
                                        gridData = scale.ticks(10), gridData.length > tickNum && (gridData = gridData.filter(function (d) {
                                            return (d + '').indexOf('.') < 0;
                                        }));
                                    return gridData;
                                },
                                getGridFilterToRemove: function getGridFilterToRemove(params) {
                                    return params ? function (line) {
                                        var found = !1;
                                        return (isArray(params) ? params.concat() : [params]).forEach(function (param) {
                                            ('value' in param && line.value === param.value || 'class' in param && line['class'] === param['class']) && (found = !0);
                                        }), found;
                                    } : function () {
                                        return !0;
                                    };
                                },
                                removeGridLines: function removeGridLines(params, forX) {
                                    var $$ = this, config = $$.config, toRemove = $$.getGridFilterToRemove(params), classLines = forX ? config_classes.xgridLines : config_classes.ygridLines, classLine = forX ? config_classes.xgridLine : config_classes.ygridLine;
                                    $$.main.select('.'.concat(classLines)).selectAll('.'.concat(classLine)).filter(toRemove).transition().duration(config.transition_duration).style('opacity', '0').remove();
                                    var gridLines = 'grid_'.concat(forX ? 'x' : 'y', '_lines');
                                    config[gridLines] = config[gridLines].filter(function toShow(line) {
                                        return !toRemove(line);
                                    });
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                initTooltip: function initTooltip() {
                                    var $$ = this, config = $$.config, bindto = config.tooltip_contents.bindto;
                                    if ($$.tooltip = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(bindto), $$.tooltip.empty() && ($$.tooltip = $$.selectChart.style('position', 'relative').append('div').attr('class', config_classes.tooltipContainer).style('position', 'absolute').style('pointer-events', 'none').style('display', 'none')), config.tooltip_init_show) {
                                        if ($$.isTimeSeries() && isString(config.tooltip_init_x)) {
                                            var i, val, targets = $$.data.targets[0];
                                            for (config.tooltip_init_x = $$.parseDate(config.tooltip_init_x), i = 0; (val = targets.values[i]) && val.x - config.tooltip_init_x !== 0; i++);
                                            config.tooltip_init_x = i;
                                        }
                                        $$.tooltip.html($$.getTooltipHTML($$.data.targets.map(function (d) {
                                            return $$.addName(d.values[config.tooltip_init_x]);
                                        }), $$.axis.getXAxisTickFormat(), $$.getYFormat($$.hasArcType(null, ['radar'])), $$.color)), bindto || $$.tooltip.style('top', config.tooltip_init_position.top).style('left', config.tooltip_init_position.left).style('display', 'block');
                                    }
                                    $$.bindTooltipResizePos();
                                },
                                getTooltipHTML: function getTooltipHTML() {
                                    for (var _config$tooltip_conte, _$$, $$ = this, config = $$.config, _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++)
                                        args[_key] = arguments[_key];
                                    return isFunction(config.tooltip_contents) ? (_config$tooltip_conte = config.tooltip_contents).call.apply(_config$tooltip_conte, [$$].concat(args)) : (_$$ = $$).getTooltipContent.apply(_$$, args);
                                },
                                getTooltipContent: function getTooltipContent(d, defaultTitleFormat, defaultValueFormat, color) {
                                    var $$ = this, config = $$.config, titleFormat = config.tooltip_format_title || defaultTitleFormat, nameFormat = config.tooltip_format_name || function (name) {
                                            return name;
                                        }, valueFormat = config.tooltip_format_value || ($$.isStackNormalized() ? function (v, ratio) {
                                            return ''.concat((ratio * 100).toFixed(2), '%');
                                        } : defaultValueFormat), order = config.tooltip_order, getRowValue = function (row) {
                                            return $$.isBubbleZType(row) ? $$.getBubbleZData(row.value, 'z') : $$.getBaseValue(row);
                                        }, getBgColor = $$.levelColor ? function (row) {
                                            return $$.levelColor(row.value);
                                        } : function (row) {
                                            return color(row);
                                        }, contents = config.tooltip_contents, tplStr = contents.template, targetIds = $$.mapToTargetIds();
                                    if (order === null && $$.isGrouped()) {
                                        var ids = $$.orderTargets($$.data.targets).map(function (i2) {
                                            return i2.id;
                                        }).reverse();
                                        d.sort(function (a, b) {
                                            var v1 = a ? a.value : null, v2 = b ? b.value : null;
                                            return v1 > 0 && v2 > 0 && (v1 = a.id ? ids.indexOf(a.id) : null, v2 = b.id ? ids.indexOf(b.id) : null), v1 - v2;
                                        });
                                    } else if (/^(asc|desc)$/.test(order)) {
                                        d.sort(function (a, b) {
                                            var v1 = a ? getRowValue(a) : null, v2 = b ? getRowValue(b) : null;
                                            return order === 'asc' ? v1 - v2 : v2 - v1;
                                        });
                                    } else
                                        isFunction(order) && d.sort(order);
                                    var text, row, param, value, i, tpl = $$.getTooltipContentTemplate(tplStr), len = d.length;
                                    for (i = 0; i < len; i++)
                                        if (row = d[i], row && (getRowValue(row) || getRowValue(row) === 0)) {
                                            if (isUndefined(text)) {
                                                var title = sanitise(titleFormat ? titleFormat(row.x) : row.x);
                                                text = tplProcess(tpl[0], {
                                                    CLASS_TOOLTIP: config_classes.tooltip,
                                                    TITLE: isValue(title) ? tplStr ? title : '<tr><th colspan="2">'.concat(title, '</th></tr>') : ''
                                                });
                                            }
                                            if (param = [
                                                    row.ratio,
                                                    row.id,
                                                    row.index,
                                                    d
                                                ], value = sanitise(valueFormat.apply(void 0, [getRowValue(row)].concat(_toConsumableArray(param)))), $$.isAreaRangeType(row)) {
                                                var _map = [
                                                        'high',
                                                        'low'
                                                    ].map(function (v) {
                                                        return sanitise(valueFormat.apply(void 0, [$$.getAreaRangeData(row, v)].concat(_toConsumableArray(param))));
                                                    }), _map2 = _slicedToArray(_map, 2), high = _map2[0], low = _map2[1];
                                                value = '<b>Mid:</b> '.concat(value, ' <b>High:</b> ').concat(high, ' <b>Low:</b> ').concat(low);
                                            }
                                            if (value !== undefined) {
                                                var _ret = function () {
                                                    if (row.name === null)
                                                        return 'continue';
                                                    var name = sanitise(nameFormat.apply(void 0, [row.name].concat(_toConsumableArray(param)))), color = getBgColor(row), contentValue = {
                                                            CLASS_TOOLTIP_NAME: config_classes.tooltipName + $$.getTargetSelectorSuffix(row.id),
                                                            COLOR: tplStr || !$$.patterns ? color : '<svg><rect style="fill:'.concat(color, '" width="10" height="10"></rect></svg>'),
                                                            NAME: name,
                                                            VALUE: value
                                                        };
                                                    if (tplStr && isObject(contents.text)) {
                                                        var index = targetIds.indexOf(row.id);
                                                        Object.keys(contents.text).forEach(function (key) {
                                                            contentValue[key] = contents.text[key][index];
                                                        });
                                                    }
                                                    text += tplProcess(tpl[1], contentValue);
                                                }();
                                                if (_ret === 'continue')
                                                    continue;
                                            }
                                        }
                                    return ''.concat(text, '</table>');
                                },
                                getTooltipContentTemplate: function getTooltipContentTemplate(tplStr) {
                                    return (tplStr || '<table class="{=CLASS_TOOLTIP}"><tbody>\n\t\t\t\t{=TITLE}\n\t\t\t\t{{<tr class="{=CLASS_TOOLTIP_NAME}">\n\t\t\t\t\t<td class="name">'.concat(this.patterns ? '{=COLOR}' : '<span style="background-color:{=COLOR}"></span>', '{=NAME}</td>\n\t\t\t\t\t<td class="value">{=VALUE}</td>\n\t\t\t\t</tr>}}\n\t\t\t</tbody></table>')).replace(/(\r?\n|\t)/g, '').split(/{{(.*)}}/);
                                },
                                tooltipPosition: function tooltipPosition(dataToShow, tWidth, tHeight, element) {
                                    var $$ = this, config = $$.config, hasGauge = $$.hasType('gauge') && !config.gauge_fullCircle, svgLeft = $$.getSvgLeft(!0), _d3Mouse = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['mouse'])(element), _d3Mouse2 = _slicedToArray(_d3Mouse, 2), left = _d3Mouse2[0], top = _d3Mouse2[1], chartRight = svgLeft + $$.currentWidth - $$.getCurrentPaddingRight(!0), chartLeft = $$.getCurrentPaddingLeft(!0), size = 20;
                                    if (top += size, $$.hasArcType()) {
                                        var raw = $$.inputType === 'touch' || $$.hasType('radar');
                                        raw || (top += hasGauge ? $$.height : $$.height / 2, left += ($$.width - ($$.isLegendRight ? $$.getLegendWidth() : 0)) / 2);
                                    } else {
                                        var dataScale = $$.x(dataToShow[0].x);
                                        config.axis_rotated ? (top = dataScale + size, left += svgLeft + 100, chartRight -= svgLeft) : (top -= 5, left = svgLeft + chartLeft + size + ($$.zoomScale ? left : dataScale));
                                    }
                                    left + tWidth + 15 > chartRight && (left -= tWidth + chartLeft), top + tHeight > $$.currentHeight && (top -= hasGauge ? tHeight * 3 : tHeight + 30);
                                    var pos = {
                                        top: top,
                                        left: left
                                    };
                                    return Object.keys(pos).forEach(function (v) {
                                        pos[v] < 0 && (pos[v] = 0);
                                    }), pos;
                                },
                                showTooltip: function showTooltip(selectedData, element) {
                                    var $$ = this, config = $$.config, bindto = config.tooltip_contents.bindto, forArc = $$.hasArcType(null, ['radar']), dataToShow = selectedData.filter(function (d) {
                                            return d && isValue($$.getBaseValue(d));
                                        });
                                    if (dataToShow.length !== 0 && config.tooltip_show) {
                                        var datum = $$.tooltip.datum(), _ref = datum || {}, _ref$width = _ref.width, width = _ref$width === void 0 ? 0 : _ref$width, _ref$height = _ref.height, height = _ref$height === void 0 ? 0 : _ref$height, dataStr = JSON.stringify(selectedData);
                                        if (!datum || datum.current !== dataStr) {
                                            var index = selectedData.concat().sort()[0].index;
                                            callFn(config.tooltip_onshow, $$, $$.api, selectedData), $$.tooltip.html($$.getTooltipHTML(selectedData, $$.axis.getXAxisTickFormat(), $$.getYFormat(forArc), $$.color)).style('display', null).style('visibility', null).datum(datum = {
                                                index: index,
                                                current: dataStr,
                                                width: width = $$.tooltip.property('offsetWidth'),
                                                height: height = $$.tooltip.property('offsetHeight')
                                            }), callFn(config.tooltip_onshown, $$, $$.api, selectedData), $$._handleLinkedCharts(!0, index);
                                        }
                                        if (!bindto) {
                                            var fnPos = config.tooltip_position || $$.tooltipPosition, pos = fnPos.call(this, dataToShow, width, height, element);
                                            [
                                                'top',
                                                'left'
                                            ].forEach(function (v) {
                                                var value = pos[v];
                                                $$.tooltip.style(v, ''.concat(value, 'px')), v !== 'left' || datum.xPosInPercent || (datum.xPosInPercent = value / $$.currentWidth * 100);
                                            });
                                        }
                                    }
                                },
                                bindTooltipResizePos: function bindTooltipResizePos() {
                                    var $$ = this, resizeFunction = $$.resizeFunction, tooltip = $$.tooltip;
                                    resizeFunction.add(function () {
                                        if (tooltip.style('display') === 'block') {
                                            var currentWidth = $$.currentWidth, _tooltip$datum = tooltip.datum(), width = _tooltip$datum.width, xPosInPercent = _tooltip$datum.xPosInPercent, _value = currentWidth / 100 * xPosInPercent, diff = currentWidth - (_value + width);
                                            diff < 0 && (_value += diff), tooltip.style('left', ''.concat(_value, 'px'));
                                        }
                                    });
                                },
                                hideTooltip: function hideTooltip(force) {
                                    var $$ = this, api = $$.api, config = $$.config, tooltip = $$.tooltip;
                                    if (tooltip.style('display') !== 'none' && (!config.tooltip_doNotHide || force)) {
                                        var selectedData = JSON.parse(this.tooltip.datum().current);
                                        callFn(config.tooltip_onhide, $$, api, selectedData), tooltip.style('display', 'none').style('visibility', 'hidden').datum(null), callFn(config.tooltip_onhidden, $$, api, selectedData);
                                    }
                                },
                                _handleLinkedCharts: function _handleLinkedCharts(show, index) {
                                    var $$ = this;
                                    if ($$.config.tooltip_linked) {
                                        var linkedName = $$.config.tooltip_linked_name;
                                        ($$.api.internal.charts || []).forEach(function (c) {
                                            if (c !== $$.api) {
                                                var _config = c.internal.config, isLinked = _config.tooltip_linked, name = _config.tooltip_linked_name, isInDom = browser_doc.body.contains(c.element);
                                                if (isLinked && linkedName === name && isInDom) {
                                                    var data = c.internal.tooltip.data()[0], isNotSameIndex = index !== (data && data.index);
                                                    try {
                                                        show && isNotSameIndex ? c.tooltip.show({ index: index }) : !show && c.tooltip.hide();
                                                    } catch (e) {
                                                    }
                                                }
                                            }
                                        });
                                    }
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                initLegend: function initLegend() {
                                    var $$ = this, config = $$.config;
                                    $$.legendItemTextBox = {}, $$.legendHasRendered = !1, $$.legend = $$.svg.append('g'), config.legend_show ? ($$.legend.attr('transform', $$.getTranslate('legend')), $$.updateLegend()) : ($$.legend.style('visibility', 'hidden'), $$.hiddenLegendIds = $$.mapToIds($$.data.targets));
                                },
                                updateLegend: function updateLegend(targetIds, options, transitions) {
                                    var $$ = this, config = $$.config, optionz = options || {
                                            withTransform: !1,
                                            withTransitionForTransform: !1,
                                            withTransition: !1
                                        };
                                    optionz.withTransition = getOption(optionz, 'withTransition', !0), optionz.withTransitionForTransform = getOption(optionz, 'withTransitionForTransform', !0), config.legend_contents_bindto && config.legend_contents_template ? $$.updateLegendTemplate() : $$.updateLegendElement(targetIds || $$.mapToIds($$.data.targets), optionz, transitions), $$.legend.selectAll('.'.concat(config_classes.legendItem)).classed(config_classes.legendItemHidden, function (id) {
                                        return !$$.isTargetToShow(id);
                                    }), $$.updateScales(!1, !$$.zoomScale), $$.updateSvgSize(), $$.transformAll(optionz.withTransitionForTransform, transitions), $$.legendHasRendered = !0;
                                },
                                updateLegendTemplate: function updateLegendTemplate() {
                                    var $$ = this, config = $$.config, wrapper = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(config.legend_contents_bindto), template = config.legend_contents_template;
                                    if (!wrapper.empty()) {
                                        var targets = $$.mapToIds($$.data.targets), ids = [], html = '';
                                        targets.forEach(function (v) {
                                            var content = isFunction(template) ? template.call($$, v, $$.color(v), $$.api.data(v)[0].values) : tplProcess(template, {
                                                COLOR: $$.color(v),
                                                TITLE: v
                                            });
                                            content && (ids.push(v), html += content);
                                        });
                                        var legendItem = wrapper.html(html).selectAll(function () {
                                            return this.childNodes;
                                        }).data(ids);
                                        $$.setLegendItem(legendItem), $$.legend = wrapper;
                                    }
                                },
                                updateSizeForLegend: function updateSizeForLegend(size) {
                                    var $$ = this, config = $$.config, width = size.width, height = size.height, insetLegendPosition = {
                                            top: $$.isLegendTop ? $$.getCurrentPaddingTop() + config.legend_inset_y + 5.5 : $$.currentHeight - height - $$.getCurrentPaddingBottom() - config.legend_inset_y,
                                            left: $$.isLegendLeft ? $$.getCurrentPaddingLeft() + config.legend_inset_x + 0.5 : $$.currentWidth - width - $$.getCurrentPaddingRight() - config.legend_inset_x + 0.5
                                        };
                                    $$.margin3 = {
                                        top: $$.isLegendRight ? 0 : $$.isLegendInset ? insetLegendPosition.top : $$.currentHeight - height,
                                        right: NaN,
                                        bottom: 0,
                                        left: $$.isLegendRight ? $$.currentWidth - width : $$.isLegendInset ? insetLegendPosition.left : 0
                                    };
                                },
                                transformLegend: function transformLegend(withTransition) {
                                    var $$ = this;
                                    (withTransition ? $$.legend.transition() : $$.legend).attr('transform', $$.getTranslate('legend'));
                                },
                                updateLegendStep: function updateLegendStep(step) {
                                    this.legendStep = step;
                                },
                                updateLegendItemWidth: function updateLegendItemWidth(w) {
                                    this.legendItemWidth = w;
                                },
                                updateLegendItemHeight: function updateLegendItemHeight(h) {
                                    this.legendItemHeight = h;
                                },
                                updateLegendItemColor: function updateLegendItemColor(id, color) {
                                    this.legend.select('.'.concat(config_classes.legendItem, '-').concat(id, ' line')).style('stroke', color);
                                },
                                getLegendWidth: function getLegendWidth() {
                                    var $$ = this;
                                    return $$.config.legend_show ? $$.isLegendRight || $$.isLegendInset ? $$.legendItemWidth * ($$.legendStep + 1) : $$.currentWidth : 0;
                                },
                                getLegendHeight: function getLegendHeight() {
                                    var $$ = this;
                                    return $$.config.legend_show ? $$.isLegendRight ? $$.currentHeight : Math.max(20, $$.legendItemHeight) * ($$.legendStep + 1) : 0;
                                },
                                opacityForLegend: function opacityForLegend(legendItem) {
                                    return legendItem.classed(config_classes.legendItemHidden) ? null : '1';
                                },
                                opacityForUnfocusedLegend: function opacityForUnfocusedLegend(legendItem) {
                                    return legendItem.classed(config_classes.legendItemHidden) ? null : '0.3';
                                },
                                toggleFocusLegend: function toggleFocusLegend(targetIds, focus) {
                                    var $$ = this, targetIdz = $$.mapToTargetIds(targetIds);
                                    $$.legend.selectAll('.'.concat(config_classes.legendItem)).filter(function (id) {
                                        return targetIdz.indexOf(id) >= 0;
                                    }).classed(config_classes.legendItemFocused, focus).transition().duration(100).style('opacity', function () {
                                        return (focus ? $$.opacityForLegend : $$.opacityForUnfocusedLegend).call($$, Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this));
                                    });
                                },
                                revertLegend: function revertLegend() {
                                    var $$ = this;
                                    $$.legend.selectAll('.'.concat(config_classes.legendItem)).classed(config_classes.legendItemFocused, !1).transition().duration(100).style('opacity', function () {
                                        return $$.opacityForLegend(Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this));
                                    });
                                },
                                showLegend: function showLegend(targetIds) {
                                    var $$ = this, config = $$.config;
                                    config.legend_show || (config.legend_show = !0, $$.legend.style('visibility', 'visible'), !$$.legendHasRendered && $$.updateLegend()), $$.removeHiddenLegendIds(targetIds), $$.legend.selectAll($$.selectorLegends(targetIds)).style('visibility', 'visible').transition().style('opacity', function () {
                                        return $$.opacityForLegend(Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this));
                                    });
                                },
                                hideLegend: function hideLegend(targetIds) {
                                    var $$ = this, config = $$.config;
                                    config.legend_show && isEmpty(targetIds) && (config.legend_show = !1, $$.legend.style('visibility', 'hidden')), $$.addHiddenLegendIds(targetIds), $$.legend.selectAll($$.selectorLegends(targetIds)).style('opacity', '0').style('visibility', 'hidden');
                                },
                                clearLegendItemTextBoxCache: function clearLegendItemTextBoxCache() {
                                    this.legendItemTextBox = {};
                                },
                                setLegendItem: function setLegendItem(item) {
                                    var $$ = this, config = $$.config, isTouch = $$.inputType === 'touch', hasGauge = $$.hasType('gauge');
                                    item.attr('class', function (id) {
                                        var node = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this), itemClass = !node.empty() && node.attr('class') || '';
                                        return itemClass + $$.generateClass(config_classes.legendItem, id);
                                    }).style('visibility', function (id) {
                                        return $$.isLegendToShow(id) ? 'visible' : 'hidden';
                                    }).style('cursor', 'pointer').on('click', function (id) {
                                        callFn(config.legend_item_onclick, $$, id) || (external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['event'].altKey ? ($$.api.hide(), $$.api.show(id)) : ($$.api.toggle(id), !isTouch && $$.isTargetToShow(id) ? $$.api.focus(id) : $$.api.revert())), isTouch && $$.hideTooltip();
                                    }), isTouch || item.on('mouseout', function (id) {
                                        callFn(config.legend_item_onout, $$, id) || (Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this).classed(config_classes.legendItemFocused, !1), hasGauge && $$.undoMarkOverlapped($$, '.'.concat(config_classes.gaugeValue)), $$.api.revert());
                                    }).on('mouseover', function (id) {
                                        callFn(config.legend_item_onover, $$, id) || (Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this).classed(config_classes.legendItemFocused, !0), hasGauge && $$.markOverlapped(id, $$, '.'.concat(config_classes.gaugeValue)), !$$.transiting && $$.isTargetToShow(id) && $$.api.focus(id));
                                    });
                                },
                                updateLegendElement: function updateLegendElement(targetIds, options) {
                                    var xForLegend, yForLegend, background, $$ = this, config = $$.config, posMin = 10, tileWidth = config.legend_item_tile_width + 5, maxWidth = 0, maxHeight = 0, totalLength = 0, offsets = {}, widths = {}, heights = {}, margins = [0], steps = {}, step = 0, isLegendRightOrInset = $$.isLegendRight || $$.isLegendInset, targetIdz = targetIds.filter(function (id) {
                                            return !isDefined(config.data_names[id]) || config.data_names[id] !== null;
                                        }), withTransition = options.withTransition, getTextBox = function (textElement, id) {
                                            return $$.legendItemTextBox[id] || ($$.legendItemTextBox[id] = $$.getTextRect(textElement, config_classes.legendItem)), $$.legendItemTextBox[id];
                                        }, updatePositions = function (textElement, id, index) {
                                            var margin, isLast = index === targetIdz.length - 1, box = getTextBox(textElement, id), itemWidth = box.width + tileWidth + (isLast && !isLegendRightOrInset ? 0 : 10) + config.legend_padding, itemHeight = box.height + 4, itemLength = isLegendRightOrInset ? itemHeight : itemWidth, areaLength = isLegendRightOrInset ? $$.getLegendHeight() : $$.getLegendWidth(), updateValues = function (id2, withoutStep) {
                                                    withoutStep || (margin = (areaLength - totalLength - itemLength) / 2, margin < posMin && (margin = (areaLength - itemLength) / 2, totalLength = 0, step++)), steps[id2] = step, margins[step] = $$.isLegendInset ? 10 : margin, offsets[id2] = totalLength, totalLength += itemLength;
                                                };
                                            if (index === 0 && (totalLength = 0, step = 0, maxWidth = 0, maxHeight = 0), config.legend_show && !$$.isLegendToShow(id))
                                                return widths[id] = 0, heights[id] = 0, steps[id] = 0, void (offsets[id] = 0);
                                            widths[id] = itemWidth, heights[id] = itemHeight, (!maxWidth || itemWidth >= maxWidth) && (maxWidth = itemWidth), (!maxHeight || itemHeight >= maxHeight) && (maxHeight = itemHeight);
                                            var maxLength = isLegendRightOrInset ? maxHeight : maxWidth;
                                            config.legend_equally ? (Object.keys(widths).forEach(function (id2) {
                                                return widths[id2] = maxWidth;
                                            }), Object.keys(heights).forEach(function (id2) {
                                                return heights[id2] = maxHeight;
                                            }), margin = (areaLength - maxLength * targetIdz.length) / 2, margin < posMin ? (totalLength = 0, step = 0, targetIdz.forEach(function (id2) {
                                                return updateValues(id2);
                                            })) : updateValues(id, !0)) : updateValues(id);
                                        };
                                    $$.isLegendInset && (step = config.legend_inset_step ? config.legend_inset_step : targetIdz.length, $$.updateLegendStep(step)), $$.isLegendRight ? (xForLegend = function (id) {
                                        return maxWidth * steps[id];
                                    }, yForLegend = function (id) {
                                        return margins[steps[id]] + offsets[id];
                                    }) : $$.isLegendInset ? (xForLegend = function (id) {
                                        return maxWidth * steps[id] + 10;
                                    }, yForLegend = function (id) {
                                        return margins[steps[id]] + offsets[id];
                                    }) : (xForLegend = function (id) {
                                        return margins[steps[id]] + offsets[id];
                                    }, yForLegend = function (id) {
                                        return maxHeight * steps[id];
                                    });
                                    var xForLegendText = function (id, i) {
                                            return xForLegend(id, i) + 4 + config.legend_item_tile_width;
                                        }, xForLegendRect = function (id, i) {
                                            return xForLegend(id, i);
                                        }, x1ForLegendTile = function (id, i) {
                                            return xForLegend(id, i) - 2;
                                        }, x2ForLegendTile = function (id, i) {
                                            return xForLegend(id, i) - 2 + config.legend_item_tile_width;
                                        }, yForLegendText = function (id, i) {
                                            return yForLegend(id, i) + 9;
                                        }, yForLegendRect = function (id, i) {
                                            return yForLegend(id, i) - 5;
                                        }, yForLegendTile = function (id, i) {
                                            return yForLegend(id, i) + 4;
                                        }, pos = -200, l = $$.legend.selectAll('.'.concat(config_classes.legendItem)).data(targetIdz).enter().append('g');
                                    $$.setLegendItem(l), l.append('text').text(function (id) {
                                        return isDefined(config.data_names[id]) ? config.data_names[id] : id;
                                    }).each(function (id, i) {
                                        updatePositions(this, id, i);
                                    }).style('pointer-events', 'none').attr('x', isLegendRightOrInset ? xForLegendText : pos).attr('y', isLegendRightOrInset ? pos : yForLegendText), l.append('rect').attr('class', config_classes.legendItemEvent).style('fill-opacity', '0').attr('x', isLegendRightOrInset ? xForLegendRect : pos).attr('y', isLegendRightOrInset ? pos : yForLegendRect);
                                    var usePoint = $$.config.legend_usePoint;
                                    if (usePoint) {
                                        var ids = [];
                                        l.append(function (d) {
                                            var pattern = notEmpty(config.point_pattern) ? config.point_pattern : [config.point_type];
                                            ids.indexOf(d) === -1 && ids.push(d);
                                            var point = pattern[ids.indexOf(d) % pattern.length];
                                            return point === 'rectangle' && (point = 'rect'), browser_doc.createElementNS(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['namespaces'].svg, $$.hasValidPointType(point) ? point : 'use');
                                        }).attr('class', config_classes.legendItemPoint).style('fill', function (d) {
                                            return $$.color(d);
                                        }).style('pointer-events', 'none').attr('href', function (data, idx, selection) {
                                            var node = selection[idx], nodeName = node.nodeName.toLowerCase();
                                            return nodeName === 'use' ? '#'.concat($$.datetimeId, '-point-').concat(data) : undefined;
                                        });
                                    } else
                                        l.append('line').attr('class', config_classes.legendItemTile).style('stroke', $$.color).style('pointer-events', 'none').attr('x1', isLegendRightOrInset ? x1ForLegendTile : pos).attr('y1', isLegendRightOrInset ? pos : yForLegendTile).attr('x2', isLegendRightOrInset ? x2ForLegendTile : pos).attr('y2', isLegendRightOrInset ? pos : yForLegendTile).attr('stroke-width', config.legend_item_tile_height);
                                    background = $$.legend.select('.'.concat(config_classes.legendBackground, ' rect')), $$.isLegendInset && maxWidth > 0 && background.size() === 0 && (background = $$.legend.insert('g', '.'.concat(config_classes.legendItem)).attr('class', config_classes.legendBackground).append('rect'));
                                    var texts = $$.legend.selectAll('text').data(targetIdz).text(function (id) {
                                        return isDefined(config.data_names[id]) ? config.data_names[id] : id;
                                    }).each(function (id, i) {
                                        updatePositions(this, id, i);
                                    });
                                    (withTransition ? texts.transition() : texts).attr('x', xForLegendText).attr('y', yForLegendText);
                                    var rects = $$.legend.selectAll('rect.'.concat(config_classes.legendItemEvent)).data(targetIdz);
                                    if ((withTransition ? rects.transition() : rects).attr('width', function (id) {
                                            return widths[id];
                                        }).attr('height', function (id) {
                                            return heights[id];
                                        }).attr('x', xForLegendRect).attr('y', yForLegendRect), usePoint) {
                                        var tiles = $$.legend.selectAll('.'.concat(config_classes.legendItemPoint)).data(targetIdz);
                                        (withTransition ? tiles.transition() : tiles).each(function () {
                                            var radius, width, height, nodeName = this.nodeName.toLowerCase(), pointR = $$.config.point_r, x = 'x', y = 'y', xOffset = 2, yOffset = 2.5;
                                            if (nodeName === 'circle') {
                                                var size = pointR * 0.2;
                                                x = 'cx', y = 'cy', radius = pointR + size, xOffset = pointR * 2, yOffset = -size;
                                            } else if (nodeName === 'rect') {
                                                var _size = pointR * 2.5;
                                                width = _size, height = _size, yOffset = 3;
                                            }
                                            Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this).attr(x, function (d) {
                                                return x1ForLegendTile(d) + xOffset;
                                            }).attr(y, function (d) {
                                                return yForLegendTile(d) - yOffset;
                                            }).attr('r', radius).attr('width', width).attr('height', height);
                                        });
                                    } else {
                                        var _tiles = $$.legend.selectAll('line.'.concat(config_classes.legendItemTile)).data(targetIdz);
                                        (withTransition ? _tiles.transition() : _tiles).style('stroke', $$.levelColor ? function (id) {
                                            return $$.levelColor($$.cache[id].values[0].value);
                                        } : $$.color).attr('x1', x1ForLegendTile).attr('y1', yForLegendTile).attr('x2', x2ForLegendTile).attr('y2', yForLegendTile);
                                    }
                                    background && (withTransition ? background.transition() : background).attr('height', $$.getLegendHeight() - 12).attr('width', maxWidth * (step + 1) + 10), $$.updateLegendItemWidth(maxWidth), $$.updateLegendItemHeight(maxHeight), $$.updateLegendStep(step);
                                }
                            });
                            var getTextPos = function () {
                                var position, pos = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'left', width = arguments.length > 1 ? arguments[1] : undefined, isNum = isNumber(width);
                                return position = pos.indexOf('center') > -1 ? isNum ? width / 2 : 'middle' : pos.indexOf('right') > -1 ? isNum ? width : 'end' : isNum ? 0 : 'start', position;
                            };
                            extend(ChartInternal_ChartInternal.prototype, {
                                initTitle: function initTitle() {
                                    var $$ = this;
                                    if ($$.config.title_text) {
                                        $$.title = $$.svg.append('g');
                                        var text = $$.title.append('text').style('text-anchor', getTextPos($$.config.title_position)).attr('class', config_classes.title);
                                        setTextValue(text, $$.config.title_text, [
                                            0.3,
                                            1.5
                                        ]);
                                    }
                                },
                                redrawTitle: function redrawTitle() {
                                    var $$ = this;
                                    if ($$.title) {
                                        var y = $$.yForTitle.call($$);
                                        /g/i.test($$.title.node().tagName) ? $$.title.attr('transform', 'translate('.concat(getTextPos($$.config.title_position, $$.currentWidth), ', ').concat(y, ')')) : $$.title.attr('x', $$.xForTitle.call($$)).attr('y', y);
                                    }
                                },
                                xForTitle: function xForTitle() {
                                    var x, $$ = this, config = $$.config, position = config.title_position || 'left', textRectWidth = $$.getTextRect($$.title, config_classes.title).width;
                                    return /(right|center)/.test(position) ? (x = $$.currentWidth - textRectWidth, position.indexOf('right') >= 0 ? x = $$.currentWidth - textRectWidth - config.title_padding.right : position.indexOf('center') >= 0 && (x = ($$.currentWidth - textRectWidth) / 2)) : x = config.title_padding.left || 0, x;
                                },
                                yForTitle: function yForTitle() {
                                    var $$ = this;
                                    return ($$.config.title_padding.top || 0) + $$.getTextRect($$.title, config_classes.title).height;
                                },
                                getTitlePadding: function getTitlePadding() {
                                    var $$ = this;
                                    return $$.yForTitle() + ($$.config.title_padding.bottom || 0);
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                initClip: function initClip() {
                                    var $$ = this;
                                    $$.clipId = ''.concat($$.datetimeId, '-clip'), $$.clipIdForXAxis = ''.concat($$.clipId, '-xaxis'), $$.clipIdForYAxis = ''.concat($$.clipId, '-yaxis'), $$.clipIdForGrid = ''.concat($$.clipId, '-grid'), $$.clipPath = $$.getClipPath($$.clipId), $$.clipPathForXAxis = $$.getClipPath($$.clipIdForXAxis), $$.clipPathForYAxis = $$.getClipPath($$.clipIdForYAxis), $$.clipPathForGrid = $$.getClipPath($$.clipIdForGrid);
                                },
                                getClipPath: function getClipPath(id) {
                                    var $$ = this, config = $$.config;
                                    if (!config.clipPath && /-clip$/.test(id) || !config.axis_x_clipPath && /-clip-xaxis$/.test(id) || !config.axis_y_clipPath && /-clip-yaxis$/.test(id))
                                        return null;
                                    var isIE9 = !!win.navigator && win.navigator.appVersion.toLowerCase().indexOf('msie 9.') >= 0;
                                    return 'url('.concat(isIE9 ? '' : browser_doc.URL.split('#')[0], '#').concat(id, ')');
                                },
                                appendClip: function appendClip(parent, id) {
                                    return parent.append('clipPath').attr('id', id).append('rect');
                                },
                                getAxisClipX: function getAxisClipX(forHorizontal) {
                                    var left = Math.max(30, this.margin.left);
                                    return forHorizontal ? -(1 + left) : -(left - 1);
                                },
                                getAxisClipY: function getAxisClipY(forHorizontal) {
                                    return forHorizontal ? -20 : -this.margin.top;
                                },
                                getXAxisClipX: function getXAxisClipX() {
                                    var $$ = this;
                                    return $$.getAxisClipX(!$$.config.axis_rotated);
                                },
                                getXAxisClipY: function getXAxisClipY() {
                                    var $$ = this;
                                    return $$.getAxisClipY(!$$.config.axis_rotated);
                                },
                                getYAxisClipX: function getYAxisClipX() {
                                    var $$ = this;
                                    return $$.config.axis_y_inner ? -1 : $$.getAxisClipX($$.config.axis_rotated);
                                },
                                getYAxisClipY: function getYAxisClipY() {
                                    var $$ = this;
                                    return $$.getAxisClipY($$.config.axis_rotated);
                                },
                                getAxisClipWidth: function getAxisClipWidth(forHorizontal) {
                                    var $$ = this, left = Math.max(30, $$.margin.left), right = Math.max(30, $$.margin.right);
                                    return forHorizontal ? $$.width + 2 + left + right : $$.margin.left + 20;
                                },
                                getAxisClipHeight: function getAxisClipHeight(forHorizontal) {
                                    return (forHorizontal ? this.margin.bottom : this.margin.top + this.height) + 20;
                                },
                                getXAxisClipWidth: function getXAxisClipWidth() {
                                    var $$ = this;
                                    return $$.getAxisClipWidth(!$$.config.axis_rotated);
                                },
                                getXAxisClipHeight: function getXAxisClipHeight() {
                                    var $$ = this;
                                    return $$.getAxisClipHeight(!$$.config.axis_rotated);
                                },
                                getYAxisClipWidth: function getYAxisClipWidth() {
                                    var $$ = this;
                                    return $$.getAxisClipWidth($$.config.axis_rotated) + ($$.config.axis_y_inner ? 20 : 0);
                                },
                                getYAxisClipHeight: function getYAxisClipHeight() {
                                    var $$ = this;
                                    return $$.getAxisClipHeight($$.config.axis_rotated);
                                },
                                updateXAxisTickClip: function updateXAxisTickClip() {
                                    var $$ = this, newXAxisHeight = $$.getHorizontalAxisHeight('x');
                                    if ($$.defs && !$$.clipXAxisTickTexts) {
                                        var clipId = ''.concat($$.clipId, '-xaxisticktexts');
                                        $$.clipXAxisTickTexts = $$.appendClip($$.defs, clipId), $$.clipPathForXAxisTickTexts = $$.getClipPath(clipId), $$.clipIdForXAxisTickTexts = clipId;
                                    }
                                    !$$.config.axis_x_tick_multiline && $$.getAxisTickRotate('x') && newXAxisHeight !== $$.xAxisHeight && ($$.setXAxisTickClipWidth(), $$.setXAxisTickTextClipPathWidth()), $$.xAxisHeight = newXAxisHeight;
                                },
                                setXAxisTickClipWidth: function setXAxisTickClipWidth() {
                                    var $$ = this, config = $$.config, xAxisTickRotate = $$.getAxisTickRotate('x');
                                    if (!config.axis_x_tick_multiline && xAxisTickRotate) {
                                        var sinRotation = Math.sin(Math.PI / 180 * Math.abs(xAxisTickRotate));
                                        $$.xAxisTickClipPathMaxWidth = ($$.getHorizontalAxisHeight('x') - 20) / sinRotation;
                                    } else
                                        $$.xAxisTickClipPathMaxWidth = null;
                                },
                                setXAxisTickTextClipPathWidth: function setXAxisTickTextClipPathWidth() {
                                    var $$ = this;
                                    $$.svg && $$.svg.select('#'.concat($$.clipIdForXAxisTickTexts, ' rect')).attr('width', $$.xAxisTickClipPathMaxWidth).attr('height', 30);
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                initRegion: function initRegion() {
                                    var $$ = this;
                                    $$.region = $$.main.append('g').attr('clip-path', $$.clipPath).attr('class', config_classes.regions);
                                },
                                updateRegion: function updateRegion(duration) {
                                    var $$ = this, config = $$.config;
                                    $$.region.style('visibility', $$.hasArcType() ? 'hidden' : 'visible'), $$.mainRegion = $$.main.select('.'.concat(config_classes.regions)).selectAll('.'.concat(config_classes.region)).data(config.regions), $$.mainRegion.exit().transition().duration(duration).style('opacity', '0').remove(), $$.mainRegion = $$.mainRegion.enter().append('g').merge($$.mainRegion).attr('class', $$.classRegion.bind($$)), $$.mainRegion.append('rect').style('fill-opacity', '0');
                                },
                                redrawRegion: function redrawRegion(withTransition) {
                                    var $$ = this, regions = $$.mainRegion.select('rect');
                                    return regions = (withTransition ? regions.transition() : regions).attr('x', $$.regionX.bind($$)).attr('y', $$.regionY.bind($$)).attr('width', $$.regionWidth.bind($$)).attr('height', $$.regionHeight.bind($$)), [(withTransition ? regions.transition() : regions).style('fill-opacity', function (d) {
                                            return isValue(d.opacity) ? d.opacity : '0.1';
                                        }).on('end', function () {
                                            Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this.parentNode).selectAll('rect:not([x])').remove();
                                        })];
                                },
                                getRegionXY: function getRegionXY(type, d) {
                                    var scale, $$ = this, config = $$.config, isRotated = config.axis_rotated, isX = type === 'x', key = 'start', pos = 0;
                                    return d.axis === 'y' || d.axis === 'y2' ? (!isX && (key = 'end'), (isX ? isRotated : !isRotated) && key in d && (scale = $$[d.axis], pos = scale(d[key]))) : (isX ? !isRotated : isRotated) && key in d && (scale = $$.zoomScale || $$.x, pos = scale($$.isTimeSeries() ? $$.parseDate(d[key]) : d[key])), pos;
                                },
                                regionX: function regionX(d) {
                                    return this.getRegionXY('x', d);
                                },
                                regionY: function regionY(d) {
                                    return this.getRegionXY('y', d);
                                },
                                getRegionSize: function getRegionSize(type, d) {
                                    var scale, $$ = this, config = $$.config, isRotated = config.axis_rotated, isWidth = type === 'width', start = $$[isWidth ? 'regionX' : 'regionY'](d), key = 'end', end = $$[type];
                                    return d.axis === 'y' || d.axis === 'y2' ? (!isWidth && (key = 'start'), (isWidth ? isRotated : !isRotated) && key in d && (scale = $$[d.axis], end = scale(d[key]))) : (isWidth ? !isRotated : isRotated) && key in d && (scale = $$.zoomScale || $$.x, end = scale($$.isTimeSeries() ? $$.parseDate(d[key]) : d[key])), end < start ? 0 : end - start;
                                },
                                regionWidth: function regionWidth(d) {
                                    return this.getRegionSize('width', d);
                                },
                                regionHeight: function regionHeight(d) {
                                    return this.getRegionSize('height', d);
                                },
                                isRegionOnX: function isRegionOnX(d) {
                                    return !d.axis || d.axis === 'x';
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                drag: function drag(mouse) {
                                    var $$ = this, config = $$.config, main = $$.main;
                                    if (!$$.hasArcType() && config.data_selection_enabled && (!config.zoom_enabled || $$.zoom.altDomain) && config.data_selection_multiple) {
                                        var _$$$dragStart = _slicedToArray($$.dragStart, 2), sx = _$$$dragStart[0], sy = _$$$dragStart[1], _mouse = _slicedToArray(mouse, 2), mx = _mouse[0], my = _mouse[1], minX = Math.min(sx, mx), maxX = Math.max(sx, mx), minY = config.data_selection_grouped ? $$.margin.top : Math.min(sy, my), maxY = config.data_selection_grouped ? $$.height : Math.max(sy, my);
                                        main.select('.'.concat(config_classes.dragarea)).attr('x', minX).attr('y', minY).attr('width', maxX - minX).attr('height', maxY - minY), main.selectAll('.'.concat(config_classes.shapes)).selectAll('.'.concat(config_classes.shape)).filter(function (d) {
                                            return config.data_selection_isselectable(d);
                                        }).each(function (d, i) {
                                            var toggle, shape = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this), isSelected = shape.classed(config_classes.SELECTED), isIncluded = shape.classed(config_classes.INCLUDED), isWithin = !1;
                                            if (shape.classed(config_classes.circle)) {
                                                var x = shape.attr('cx') * 1, y = shape.attr('cy') * 1;
                                                toggle = $$.togglePoint, isWithin = minX < x && x < maxX && minY < y && y < maxY;
                                            } else if (shape.classed(config_classes.bar)) {
                                                var _getPathBox = getPathBox(this), _x = _getPathBox.x, y = _getPathBox.y, width = _getPathBox.width, height = _getPathBox.height;
                                                toggle = $$.togglePath, isWithin = !(maxX < _x || _x + width < minX) && !(maxY < y || y + height < minY);
                                            } else
                                                return;
                                            isWithin ^ isIncluded && (shape.classed(config_classes.INCLUDED, !isIncluded), shape.classed(config_classes.SELECTED, !isSelected), toggle.call($$, !isSelected, shape, d, i));
                                        });
                                    }
                                },
                                dragstart: function dragstart(mouse) {
                                    var $$ = this, config = $$.config;
                                    $$.hasArcType() || !config.data_selection_enabled || ($$.dragStart = mouse, $$.main.select('.'.concat(config_classes.chart)).append('rect').attr('class', config_classes.dragarea).style('opacity', '0.1'), $$.setDragStatus(!0));
                                },
                                dragend: function dragend() {
                                    var $$ = this, config = $$.config;
                                    $$.hasArcType() || !config.data_selection_enabled || ($$.main.select('.'.concat(config_classes.dragarea)).transition().duration(100).style('opacity', '0').remove(), $$.main.selectAll('.'.concat(config_classes.shape)).classed(config_classes.INCLUDED, !1), $$.setDragStatus(!1));
                                },
                                setDragStatus: function setDragStatus(isDragging) {
                                    this.dragging = isDragging;
                                }
                            });
                            var external_commonjs_d3_color_commonjs2_d3_color_amd_d3_color_root_d3_ = __webpack_require__(12);
                            extend(ChartInternal_ChartInternal.prototype, {
                                selectPoint: function selectPoint(target, d, i) {
                                    var $$ = this, config = $$.config, isRotated = config.axis_rotated, cx = (isRotated ? $$.circleY : $$.circleX).bind($$), cy = (isRotated ? $$.circleX : $$.circleY).bind($$), r = $$.pointSelectR.bind($$);
                                    callFn(config.data_onselected, $$.api, d, target.node()), $$.main.select('.'.concat(config_classes.selectedCircles).concat($$.getTargetSelectorSuffix(d.id))).selectAll('.'.concat(config_classes.selectedCircle, '-').concat(i)).data([d]).enter().append('circle').attr('class', function () {
                                        return $$.generateClass(config_classes.selectedCircle, i);
                                    }).attr('cx', cx).attr('cy', cy).attr('stroke', $$.color).attr('r', function (d2) {
                                        return $$.pointSelectR(d2) * 1.4;
                                    }).transition().duration(100).attr('r', r);
                                },
                                unselectPoint: function unselectPoint(target, d, i) {
                                    var $$ = this;
                                    callFn($$.config.data_onunselected, $$.api, d, target.node()), $$.main.select('.'.concat(config_classes.selectedCircles).concat($$.getTargetSelectorSuffix(d.id))).selectAll('.'.concat(config_classes.selectedCircle, '-').concat(i)).transition().duration(100).attr('r', 0).remove();
                                },
                                togglePoint: function togglePoint(selected, target, d, i) {
                                    var method = ''.concat(selected ? '' : 'un', 'selectPoint');
                                    this[method](target, d, i);
                                },
                                selectPath: function selectPath(target, d) {
                                    var $$ = this, config = $$.config;
                                    callFn(config.data_onselected, $$, d, target.node()), config.interaction_brighten && target.transition().duration(100).style('fill', function () {
                                        return Object(external_commonjs_d3_color_commonjs2_d3_color_amd_d3_color_root_d3_['rgb'])($$.color(d)).brighter(0.75);
                                    });
                                },
                                unselectPath: function unselectPath(target, d) {
                                    var $$ = this, config = $$.config;
                                    callFn(config.data_onunselected, $$, d, target.node()), config.interaction_brighten && target.transition().duration(100).style('fill', function () {
                                        return $$.color(d);
                                    });
                                },
                                togglePath: function togglePath(selected, target, d, i) {
                                    this[''.concat(selected ? '' : 'un', 'selectPath')](target, d, i);
                                },
                                getToggle: function getToggle(that, d) {
                                    var $$ = this;
                                    return that.nodeName === 'path' ? $$.togglePath : $$.isStepType(d) ? function () {
                                    } : $$.togglePoint;
                                },
                                toggleShape: function toggleShape(that, d, i) {
                                    var toggledShape, $$ = this, config = $$.config, shape = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(that), isSelected = shape.classed(config_classes.SELECTED), toggle = $$.getToggle(that, d).bind($$);
                                    if (config.data_selection_enabled && config.data_selection_isselectable(d)) {
                                        if (!config.data_selection_multiple) {
                                            var selector = '.'.concat(config_classes.shapes);
                                            config.data_selection_grouped && (selector += $$.getTargetSelectorSuffix(d.id)), $$.main.selectAll(selector).selectAll('.'.concat(config_classes.shape)).each(function (d, i) {
                                                var shape = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this);
                                                shape.classed(config_classes.SELECTED) && (toggledShape = shape, toggle(!1, shape.classed(config_classes.SELECTED, !1), d, i));
                                            });
                                        }
                                        toggledShape && toggledShape.node() === shape.node() || (shape.classed(config_classes.SELECTED, !isSelected), toggle(!isSelected, shape, d, i));
                                    }
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                initBrush: function initBrush() {
                                    var $$ = this, config = $$.config, isRotated = config.axis_rotated;
                                    $$.brush = isRotated ? Object(external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_['brushY'])() : Object(external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_['brushX'])();
                                    var lastDomain, timeout, brushHandler = function () {
                                            $$.redrawForBrush();
                                        }, getBrushSize = function () {
                                            var brush = $$.svg.select('.'.concat(config_classes.brush, ' .overlay')), brushSize = {
                                                    width: 0,
                                                    height: 0
                                                };
                                            return brush.size() && (brushSize.width = +brush.attr('width'), brushSize.height = +brush.attr('height')), brushSize[isRotated ? 'width' : 'height'];
                                        };
                                    $$.brush.on('start', function () {
                                        $$.inputType === 'touch' && $$.hideTooltip(), brushHandler();
                                    }).on('brush', brushHandler).on('end', function () {
                                        lastDomain = $$.x.orgDomain();
                                    }), $$.brush.updateResize = function () {
                                        var _this = this;
                                        timeout && clearTimeout(timeout), timeout = setTimeout(function () {
                                            var selection = _this.getSelection();
                                            lastDomain && Object(external_commonjs_d3_brush_commonjs2_d3_brush_amd_d3_brush_root_d3_['brushSelection'])(selection.node()) && _this.move(selection, lastDomain.map($$.subX.orgScale()));
                                        }, 0);
                                    }, $$.brush.update = function () {
                                        var extent = this.extent()();
                                        return extent[1].filter(function (v) {
                                            return isNaN(v);
                                        }).length === 0 && $$.context && $$.context.select('.'.concat(config_classes.brush)).call(this), this;
                                    }, $$.brush.scale = function (scale) {
                                        var h = config.subchart_size_height || getBrushSize(), extent = $$.getExtent();
                                        !extent && scale.range ? extent = [
                                            [
                                                0,
                                                0
                                            ],
                                            [
                                                scale.range()[1],
                                                h
                                            ]
                                        ] : isArray(extent) && (extent = extent.map(function (v, i) {
                                            return [
                                                v,
                                                i > 0 ? h : i
                                            ];
                                        })), isRotated && extent[1].reverse(), this.extent(extent), this.update();
                                    }, $$.brush.getSelection = function () {
                                        return $$.context ? $$.context.select('.'.concat(config_classes.brush)) : Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])([]);
                                    };
                                },
                                initSubchart: function initSubchart() {
                                    var $$ = this, config = $$.config, visibility = config.subchart_show ? 'visible' : 'hidden', clipId = ''.concat($$.clipId, '-subchart'), clipPath = $$.getClipPath(clipId);
                                    $$.clipIdForSubchart = clipId, $$.appendClip($$.defs, clipId), $$.initBrush(), $$.context = $$.svg.append('g').attr('transform', $$.getTranslate('context'));
                                    var context = $$.context;
                                    context.style('visibility', visibility), context.append('g').attr('clip-path', clipPath).attr('class', config_classes.chart), $$.hasType('bar') && context.select('.'.concat(config_classes.chart)).append('g').attr('class', config_classes.chartBars), context.select('.'.concat(config_classes.chart)).append('g').attr('class', config_classes.chartLines), context.append('g').attr('clip-path', clipPath).attr('class', config_classes.brush).call($$.brush), $$.axes.subx = context.append('g').attr('class', config_classes.axisX).attr('transform', $$.getTranslate('subx')).attr('clip-path', config.axis_rotated ? '' : $$.clipPathForXAxis).style('visibility', config.subchart_axis_x_show ? visibility : 'hidden');
                                },
                                updateTargetsForSubchart: function updateTargetsForSubchart(targets) {
                                    var $$ = this, context = $$.context, config = $$.config, classChartBar = $$.classChartBar.bind($$), classBars = $$.classBars.bind($$), classChartLine = $$.classChartLine.bind($$), classLines = $$.classLines.bind($$), classAreas = $$.classAreas.bind($$);
                                    if (config.subchart_show) {
                                        var contextBarUpdate = context.select('.'.concat(config_classes.chartBars)).selectAll('.'.concat(config_classes.chartBar)).data(targets).attr('class', classChartBar), contextBarEnter = contextBarUpdate.enter().append('g').style('opacity', '0').attr('class', classChartBar).merge(contextBarUpdate);
                                        contextBarEnter.append('g').attr('class', classBars);
                                        var contextLineUpdate = context.select('.'.concat(config_classes.chartLines)).selectAll('.'.concat(config_classes.chartLine)).data(targets).attr('class', classChartLine), contextLineEnter = contextLineUpdate.enter().append('g').style('opacity', '0').attr('class', classChartLine).merge(contextLineUpdate);
                                        contextLineEnter.append('g').attr('class', classLines), $$.hasType('area') && contextLineEnter.append('g').attr('class', classAreas), context.selectAll('.'.concat(config_classes.brush, ' rect')).attr(config.axis_rotated ? 'width' : 'height', config.axis_rotated ? $$.width2 : $$.height2);
                                    }
                                },
                                updateBarForSubchart: function updateBarForSubchart(durationForExit) {
                                    var $$ = this;
                                    $$.contextBar = $$.context.selectAll('.'.concat(config_classes.bars)).selectAll('.'.concat(config_classes.bar)).data($$.barData.bind($$)), $$.contextBar.exit().transition().duration(durationForExit).style('opacity', '0').remove(), $$.contextBar = $$.contextBar.enter().append('path').attr('class', $$.classBar.bind($$)).style('stroke', 'none').style('fill', $$.color).merge($$.contextBar).style('opacity', $$.initialOpacity.bind($$));
                                },
                                redrawBarForSubchart: function redrawBarForSubchart(drawBarOnSub, withTransition, duration) {
                                    var contextBar = withTransition ? this.contextBar.transition(getRandom()).duration(duration) : this.contextBar;
                                    contextBar.attr('d', drawBarOnSub).style('opacity', '1');
                                },
                                updateLineForSubchart: function updateLineForSubchart(durationForExit) {
                                    var $$ = this;
                                    $$.contextLine = $$.context.selectAll('.'.concat(config_classes.lines)).selectAll('.'.concat(config_classes.line)).data($$.lineData.bind($$)), $$.contextLine.exit().transition().duration(durationForExit).style('opacity', '0').remove(), $$.contextLine = $$.contextLine.enter().append('path').attr('class', $$.classLine.bind($$)).style('stroke', $$.color).merge($$.contextLine).style('opacity', $$.initialOpacity.bind($$));
                                },
                                redrawLineForSubchart: function redrawLineForSubchart(drawLineOnSub, withTransition, duration) {
                                    var contextLine = withTransition ? this.contextLine.transition(getRandom()).duration(duration) : this.contextLine;
                                    contextLine.attr('d', drawLineOnSub).style('opacity', '1');
                                },
                                updateAreaForSubchart: function updateAreaForSubchart(durationForExit) {
                                    var $$ = this;
                                    $$.contextArea = $$.context.selectAll('.'.concat(config_classes.areas)).selectAll('.'.concat(config_classes.area)).data($$.lineData.bind($$)), $$.contextArea.exit().transition().duration(durationForExit).style('opacity', '0').remove(), $$.contextArea = $$.contextArea.enter().append('path').attr('class', $$.classArea.bind($$)).style('fill', $$.color).style('opacity', function () {
                                        return $$.orgAreaOpacity = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this).style('opacity'), '0';
                                    }).merge($$.contextArea).style('opacity', '0');
                                },
                                redrawAreaForSubchart: function redrawAreaForSubchart(drawAreaOnSub, withTransition, duration) {
                                    var contextArea = withTransition ? this.contextArea.transition(getRandom()).duration(duration) : this.contextArea;
                                    contextArea.attr('d', drawAreaOnSub).style('fill', this.color).style('opacity', this.orgAreaOpacity);
                                },
                                redrawSubchart: function redrawSubchart(withSubchart, duration, shape) {
                                    var $$ = this, config = $$.config;
                                    $$.context.style('visibility', config.subchart_show ? 'visible' : 'hidden'), config.subchart_show && (external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['event'] && external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['event'].type === 'zoom' && $$.brush.update(), withSubchart && (!brushEmpty($$) && $$.brush.update(), Object.keys(shape.type).forEach(function (v) {
                                        var name = capitalize(v), draw = $$['generateDraw'.concat(name)](shape.indices[v], !0);
                                        $$['update'.concat(name, 'ForSubchart')](duration), $$['redraw'.concat(name, 'ForSubchart')](draw, duration, duration);
                                    })));
                                },
                                redrawForBrush: function redrawForBrush() {
                                    var $$ = this;
                                    $$.redraw({
                                        withTransition: !1,
                                        withY: $$.config.zoom_rescale,
                                        withSubchart: !1,
                                        withUpdateXDomain: !0,
                                        withDimension: !1
                                    }), $$.config.subchart_onbrush.call($$.api, $$.x.orgDomain());
                                },
                                transformContext: function transformContext(withTransition, transitions) {
                                    var subXAxis, $$ = this;
                                    transitions && transitions.axisSubX ? subXAxis = transitions.axisSubX : (subXAxis = $$.context.select('.'.concat(config_classes.axisX)), withTransition && (subXAxis = subXAxis.transition())), $$.context.attr('transform', $$.getTranslate('context')), subXAxis.attr('transform', $$.getTranslate('subx'));
                                },
                                getExtent: function getExtent() {
                                    var $$ = this, extent = $$.config.axis_x_extent;
                                    return extent && (isFunction(extent) ? extent = extent($$.getXDomain($$.data.targets), $$.subX) : $$.isTimeSeries() && extent.every(isNaN) && (extent = extent.map(function (v) {
                                        return $$.subX($$.parseDate(v));
                                    }))), extent;
                                }
                            });
                            var external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_ = __webpack_require__(13);
                            extend(ChartInternal_ChartInternal.prototype, {
                                initZoom: function initZoom() {
                                    var $$ = this;
                                    $$.zoomScale = null, $$.generateZoom(), $$.initZoomBehaviour();
                                },
                                bindZoomEvent: function bindZoomEvent() {
                                    var bind = !(arguments.length > 0 && arguments[0] !== undefined) || arguments[0], $$ = this, zoomEnabled = $$.config.zoom_enabled;
                                    $$.redrawEventRect();
                                    var eventRects = $$.main.select('.'.concat(config_classes.eventRects));
                                    zoomEnabled && bind ? !$$.config.subchart_show && $$.bindZoomOnEventRect(eventRects, zoomEnabled.type) : bind === !1 && ($$.api.unzoom(), eventRects.on('.zoom', null).on('.drag', null));
                                },
                                generateZoom: function generateZoom() {
                                    var $$ = this, config = $$.config, zoom = Object(external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_['zoom'])().duration(0).on('start', $$.onZoomStart.bind($$)).on('zoom', $$.onZoom.bind($$)).on('end', $$.onZoomEnd.bind($$));
                                    zoom.orgScaleExtent = function () {
                                        var extent = config.zoom_extent || [
                                            1,
                                            10
                                        ];
                                        return [
                                            extent[0],
                                            Math.max($$.getMaxDataCount() / extent[1], extent[1])
                                        ];
                                    }, zoom.updateScaleExtent = function () {
                                        var ratio = diffDomain($$.x.orgDomain()) / diffDomain($$.getZoomDomain()), extent = this.orgScaleExtent();
                                        return this.scaleExtent([
                                            extent[0] * ratio,
                                            extent[1] * ratio
                                        ]), this;
                                    }, zoom.updateTransformScale = function (transform) {
                                        $$.orgXScale && $$.orgXScale.range($$.x.range());
                                        var newScale = transform[config.axis_rotated ? 'rescaleY' : 'rescaleX']($$.orgXScale || $$.x), domain = $$.trimXDomain(newScale.domain()), rescale = config.zoom_rescale;
                                        newScale.domain(domain, $$.orgXDomain), $$.zoomScale = $$.getCustomizedScale(newScale), $$.xAxis.scale($$.zoomScale), rescale && (!$$.orgXScale && ($$.orgXScale = $$.x.copy()), $$.x.domain(domain));
                                    }, $$.zoom = zoom;
                                },
                                onZoomStart: function onZoomStart() {
                                    var $$ = this, event = external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['event'].sourceEvent;
                                    event && ($$.zoom.startEvent = event, callFn($$.config.zoom_onzoomstart, $$.api, event));
                                },
                                onZoom: function onZoom() {
                                    var $$ = this, config = $$.config, event = external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['event'], sourceEvent = event.sourceEvent;
                                    if (config.zoom_enabled && event.sourceEvent && $$.filterTargetsToShow($$.data.targets).length !== 0 && ($$.zoomScale || !(sourceEvent.type.indexOf('touch') > -1) || sourceEvent.touches.length !== 1)) {
                                        var isMousemove = sourceEvent.type === 'mousemove', isZoomOut = sourceEvent.wheelDelta < 0, transform = event.transform;
                                        !isMousemove && isZoomOut && $$.x.domain().every(function (v, i) {
                                            return v !== $$.orgXDomain[i];
                                        }) && $$.x.domain($$.orgXDomain), $$.zoom.updateTransformScale(transform), $$.isCategorized() && $$.x.orgDomain()[0] === $$.orgXDomain[0] && $$.x.domain([
                                            $$.orgXDomain[0] - 1e-10,
                                            $$.x.orgDomain()[1]
                                        ]), $$.redraw({
                                            withTransition: !1,
                                            withY: config.zoom_rescale,
                                            withSubchart: !1,
                                            withEventRect: !1,
                                            withDimension: !1
                                        }), $$.cancelClick = isMousemove, callFn(config.zoom_onzoom, $$.api, $$.zoomScale.domain());
                                    }
                                },
                                onZoomEnd: function onZoomEnd() {
                                    var $$ = this, startEvent = $$.zoom.startEvent, event = external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['event'] && external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['event'].sourceEvent;
                                    startEvent && startEvent.type.indexOf('touch') > -1 && (startEvent = startEvent.changedTouches[0], event = event.changedTouches[0]);
                                    !startEvent || event && startEvent.clientX === event.clientX && startEvent.clientY === event.clientY || ($$.redrawEventRect(), $$.updateZoom(), callFn($$.config.zoom_onzoomend, $$.api, $$[$$.zoomScale ? 'zoomScale' : 'subX'].domain()));
                                },
                                getZoomDomain: function getZoomDomain() {
                                    var $$ = this, config = $$.config, _$$$orgXDomain = _slicedToArray($$.orgXDomain, 2), min = _$$$orgXDomain[0], max = _$$$orgXDomain[1];
                                    return isDefined(config.zoom_x_min) && (min = getMinMax('min', [
                                        min,
                                        config.zoom_x_min
                                    ])), isDefined(config.zoom_x_max) && (max = getMinMax('max', [
                                        max,
                                        config.zoom_x_max
                                    ])), [
                                        min,
                                        max
                                    ];
                                },
                                updateZoom: function updateZoom(force) {
                                    var $$ = this;
                                    if ($$.zoomScale) {
                                        var zoomDomain = $$.zoomScale.domain(), xDomain = $$.subX.domain(), delta = 0.015, isfullyShown = (zoomDomain[0] <= xDomain[0] || zoomDomain[0] - delta <= xDomain[0]) && (xDomain[1] <= zoomDomain[1] || xDomain[1] <= zoomDomain[1] - delta);
                                        (force || isfullyShown) && ($$.xAxis.scale($$.subX), $$.x.domain($$.subX.orgDomain()), $$.zoomScale = null);
                                    }
                                },
                                bindZoomOnEventRect: function bindZoomOnEventRect(eventRects, type) {
                                    var $$ = this, behaviour = type === 'drag' ? $$.zoomBehaviour : $$.zoom;
                                    eventRects.call(behaviour).on('dblclick.zoom', null);
                                },
                                initZoomBehaviour: function initZoomBehaviour() {
                                    var $$ = this, config = $$.config, isRotated = config.axis_rotated, start = 0, end = 0, zoomRect = null, prop = {
                                            axis: isRotated ? 'y' : 'x',
                                            attr: isRotated ? 'height' : 'width',
                                            index: isRotated ? 1 : 0
                                        };
                                    $$.zoomBehaviour = Object(external_commonjs_d3_drag_commonjs2_d3_drag_amd_d3_drag_root_d3_['drag'])().clickDistance(4).on('start', function () {
                                        $$.setDragStatus(!0), zoomRect || (zoomRect = $$.main.append('rect').attr('clip-path', $$.clipPath).attr('class', config_classes.zoomBrush).attr('width', isRotated ? $$.width : 0).attr('height', isRotated ? 0 : $$.height)), start = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['mouse'])(this)[prop.index], end = start, zoomRect.attr(prop.axis, start).attr(prop.attr, 0), $$.onZoomStart();
                                    }).on('drag', function () {
                                        end = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['mouse'])(this)[prop.index], zoomRect.attr(prop.axis, Math.min(start, end)).attr(prop.attr, Math.abs(end - start));
                                    }).on('end', function () {
                                        var _ref, scale = $$.zoomScale || $$.x;
                                        if ($$.setDragStatus(!1), zoomRect.attr(prop.axis, 0).attr(prop.attr, 0), start > end && (_ref = [
                                                end,
                                                start
                                            ], start = _ref[0], end = _ref[1], _ref), start < 0 && (end += Math.abs(start), start = 0), start !== end)
                                            $$.api.zoom([
                                                start,
                                                end
                                            ].map(function (v) {
                                                return scale.invert(v);
                                            })), $$.onZoomEnd();
                                        else if ($$.isMultipleX())
                                            $$.clickHandlerForMultipleXS.bind(this)($$);
                                        else {
                                            var _event = external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['event'].sourceEvent || external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['event'], _ref2 = 'clientX' in _event ? [
                                                    _event.clientX,
                                                    _event.clientY
                                                ] : [
                                                    _event.x,
                                                    _event.y
                                                ], _ref3 = _slicedToArray(_ref2, 2), x = _ref3[0], y = _ref3[1], target = browser_doc.elementFromPoint(x, y);
                                            $$.clickHandlerForSingleX.bind(target)(Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(target).datum(), $$);
                                        }
                                    });
                                },
                                setZoomResetButton: function setZoomResetButton() {
                                    var $$ = this, config = $$.config, resetButton = config.zoom_resetButton;
                                    resetButton && config.zoom_enabled.type === 'drag' && ($$.zoom.resetBtn ? $$.zoom.resetBtn.style('display', null) : $$.zoom.resetBtn = $$.selectChart.append('div').classed(config_classes.button, !0).append('span').on('click', function () {
                                        isFunction(resetButton.onclick) && resetButton.onclick(this), $$.api.unzoom.call($$);
                                    }).classed(config_classes.buttonZoomReset, !0).text(resetButton.text || 'Reset Zoom'));
                                }
                            });
                            var colorizePattern = function (pattern, color, id) {
                                    var node = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(pattern.cloneNode(!0));
                                    return node.attr('id', id).insert('rect', ':first-child').attr('width', node.attr('width')).attr('height', node.attr('height')).style('fill', color), {
                                        id: id,
                                        node: node.node()
                                    };
                                }, schemeCategory10 = [
                                    '#1f77b4',
                                    '#ff7f0e',
                                    '#2ca02c',
                                    '#d62728',
                                    '#9467bd',
                                    '#8c564b',
                                    '#e377c2',
                                    '#7f7f7f',
                                    '#bcbd22',
                                    '#17becf'
                                ];
                            extend(ChartInternal_ChartInternal.prototype, {
                                getColorFromCss: function getColorFromCss() {
                                    var body = browser_doc.body, pattern = body['__colorPattern__'];
                                    if (!pattern) {
                                        var span = browser_doc.createElement('span');
                                        span.className = config_classes.colorPattern, span.style.display = 'none', body.appendChild(span);
                                        var content = win.getComputedStyle(span).backgroundImage;
                                        span.parentNode.removeChild(span), content.indexOf(';') > -1 && (pattern = content.replace(/url[^#]*|["'()]|(\s|%20)/g, '').split(';').map(function (v) {
                                            return v.trim().replace(/[\"'\s]/g, '');
                                        }).filter(Boolean), body['__colorPattern__'] = pattern);
                                    }
                                    return pattern;
                                },
                                generateColor: function generateColor() {
                                    var $$ = this, config = $$.config, colors = config.data_colors, callback = config.data_color, ids = [], pattern = notEmpty(config.color_pattern) ? config.color_pattern : Object(external_commonjs_d3_scale_commonjs2_d3_scale_amd_d3_scale_root_d3_['scaleOrdinal'])($$.getColorFromCss() || schemeCategory10).range(), originalColorPattern = pattern;
                                    if (isFunction(config.color_tiles)) {
                                        var tiles = config.color_tiles(), colorizedPatterns = pattern.map(function (p, index) {
                                                var color = p.replace(/[#\(\)\s,]/g, ''), id = ''.concat($$.datetimeId, '-pattern-').concat(color, '-').concat(index);
                                                return colorizePattern(tiles[index % tiles.length], p, id);
                                            });
                                        pattern = colorizedPatterns.map(function (p) {
                                            return 'url(#'.concat(p.id, ')');
                                        }), $$.patterns = colorizedPatterns;
                                    }
                                    return function (d) {
                                        var color, id = d.id || d.data && d.data.id || d, isLine = $$.isTypeOf(id, [
                                                'line',
                                                'spline',
                                                'step'
                                            ]) || !$$.config.data_types[id];
                                        return isFunction(colors[id]) ? color = colors[id](d) : colors[id] ? color = colors[id] : (ids.indexOf(id) < 0 && ids.push(id), color = isLine ? originalColorPattern[ids.indexOf(id) % originalColorPattern.length] : pattern[ids.indexOf(id) % pattern.length], colors[id] = color), isFunction(callback) ? callback(color, d) : color;
                                    };
                                },
                                generateLevelColor: function generateLevelColor() {
                                    var $$ = this, config = $$.config, colors = config.color_pattern, threshold = config.color_threshold, asValue = threshold.unit === 'value', max = threshold.max || 100, values = threshold.values && threshold.values.length ? threshold.values : [];
                                    return notEmpty(threshold) ? function (value) {
                                        var v = asValue ? value : value * 100 / max, color = colors[colors.length - 1];
                                        for (var i = 0, l = values.length; i < l; i++)
                                            if (v <= values[i]) {
                                                color = colors[i];
                                                break;
                                            }
                                        return color;
                                    } : null;
                                },
                                setOverColor: function setOverColor(isOver, d) {
                                    var $$ = this, config = $$.config, onover = config.color_onover, color = isOver ? onover : $$.color;
                                    isObject(color) ? color = function (_ref) {
                                        var id = _ref.id;
                                        return id in onover ? onover[id] : $$.color(id);
                                    } : isString(color) && (color = function () {
                                        return onover;
                                    }), isObject(d) ? $$.main.selectAll('.'.concat(config_classes.arc).concat($$.getTargetSelectorSuffix(d.id))).style('fill', color(d)) : $$.main.selectAll('.'.concat(config_classes.shape, '-').concat(d)).style('fill', color);
                                }
                            });
                            var getFormat = function ($$, typeValue, v) {
                                var config = $$.config, type = 'axis_'.concat(typeValue, '_tick_format'), format = config[type] ? config[type] : $$.defaultValueFormat;
                                return format(v);
                            };
                            extend(ChartInternal_ChartInternal.prototype, {
                                getYFormat: function getYFormat(forArc) {
                                    var $$ = this, formatForY = $$.yFormat, formatForY2 = $$.y2Format;
                                    return forArc && !$$.hasType('gauge') && (formatForY = $$.defaultArcValueFormat, formatForY2 = $$.defaultArcValueFormat), function (v, ratio, id) {
                                        var format = $$.axis.getId(id) === 'y2' ? formatForY2 : formatForY;
                                        return format.call($$, v, ratio);
                                    };
                                },
                                yFormat: function yFormat(v) {
                                    return getFormat(this, 'y', v);
                                },
                                y2Format: function y2Format(v) {
                                    return getFormat(this, 'y2', v);
                                },
                                defaultValueFormat: function defaultValueFormat(v) {
                                    return isValue(v) ? +v : '';
                                },
                                defaultArcValueFormat: function defaultArcValueFormat(v, ratio) {
                                    return ''.concat((ratio * 100).toFixed(1), '%');
                                },
                                dataLabelFormat: function dataLabelFormat(targetId) {
                                    var $$ = this, dataLabels = $$.config.data_labels, defaultFormat = function (v) {
                                            return isValue(v) ? +v : '';
                                        }, format = defaultFormat;
                                    return isFunction(dataLabels.format) ? format = dataLabels.format : isObjectType(dataLabels.format) && (dataLabels.format[targetId] ? format = dataLabels.format[targetId] === !0 ? defaultFormat : dataLabels.format[targetId] : format = function () {
                                        return '';
                                    }), format;
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                addCache: function addCache(key, value) {
                                    var isDataType = !!(arguments.length > 2 && arguments[2] !== undefined) && arguments[2];
                                    this.cache[key] = isDataType ? this.cloneTarget(value) : value;
                                },
                                removeCache: function removeCache(key) {
                                    var _this = this;
                                    toArray(key).forEach(function (v) {
                                        return delete _this.cache[v];
                                    });
                                },
                                getCache: function getCache(key) {
                                    var isDataType = !!(arguments.length > 1 && arguments[1] !== undefined) && arguments[1];
                                    if (isDataType) {
                                        var targets = [];
                                        for (var id, i = 0; id = key[i]; i++)
                                            id in this.cache && targets.push(this.cloneTarget(this.cache[id]));
                                        return targets;
                                    }
                                    return this.cache[key] || null;
                                },
                                resetCache: function resetCache(all) {
                                    var $$ = this;
                                    for (var x in $$.cache)
                                        (all || /^\$/.test(x)) && ($$.cache[x] = null);
                                }
                            });
                            extend(ChartInternal_ChartInternal.prototype, {
                                generateClass: function generateClass(prefix, targetId) {
                                    return ' '.concat(prefix, ' ').concat(prefix + this.getTargetSelectorSuffix(targetId));
                                },
                                classText: function classText(d) {
                                    return this.generateClass(config_classes.text, d.index);
                                },
                                classTexts: function classTexts(d) {
                                    return this.generateClass(config_classes.texts, d.id);
                                },
                                classShape: function classShape(d) {
                                    return this.generateClass(config_classes.shape, d.index);
                                },
                                classShapes: function classShapes(d) {
                                    return this.generateClass(config_classes.shapes, d.id);
                                },
                                generateExtraLineClass: function generateExtraLineClass() {
                                    var $$ = this, classes = $$.config.line_classes || [], ids = [];
                                    return function (d) {
                                        var id = d.id || d.data && d.data.id || d;
                                        return ids.indexOf(id) < 0 && ids.push(id), classes[ids.indexOf(id) % classes.length];
                                    };
                                },
                                classLine: function classLine(d) {
                                    return this.classShape(d) + this.generateClass(config_classes.line, d.id);
                                },
                                classLines: function classLines(d) {
                                    return this.classShapes(d) + this.generateClass(config_classes.lines, d.id);
                                },
                                classCircle: function classCircle(d) {
                                    return this.classShape(d) + this.generateClass(config_classes.circle, d.index);
                                },
                                classCircles: function classCircles(d) {
                                    return this.classShapes(d) + this.generateClass(config_classes.circles, d.id);
                                },
                                classBar: function classBar(d) {
                                    return this.classShape(d) + this.generateClass(config_classes.bar, d.index);
                                },
                                classBars: function classBars(d) {
                                    return this.classShapes(d) + this.generateClass(config_classes.bars, d.id);
                                },
                                classArc: function classArc(d) {
                                    return this.classShape(d.data) + this.generateClass(config_classes.arc, d.data.id);
                                },
                                classArcs: function classArcs(d) {
                                    return this.classShapes(d.data) + this.generateClass(config_classes.arcs, d.data.id);
                                },
                                classArea: function classArea(d) {
                                    return this.classShape(d) + this.generateClass(config_classes.area, d.id);
                                },
                                classAreas: function classAreas(d) {
                                    return this.classShapes(d) + this.generateClass(config_classes.areas, d.id);
                                },
                                classRegion: function classRegion(d, i) {
                                    return ''.concat(this.generateClass(config_classes.region, i), ' ').concat('class' in d ? d['class'] : '');
                                },
                                classEvent: function classEvent(d) {
                                    return this.generateClass(config_classes.eventRect, d.index);
                                },
                                classTarget: function classTarget(id) {
                                    var additionalClassSuffix = this.config.data_classes[id], additionalClass = '';
                                    return additionalClassSuffix && (additionalClass = ' '.concat(config_classes.target, '-').concat(additionalClassSuffix)), this.generateClass(config_classes.target, id) + additionalClass;
                                },
                                classFocus: function classFocus(d) {
                                    return this.classFocused(d) + this.classDefocused(d);
                                },
                                classFocused: function classFocused(d) {
                                    return ' '.concat(this.focusedTargetIds.indexOf(d.id) >= 0 ? config_classes.focused : '');
                                },
                                classDefocused: function classDefocused(d) {
                                    return ' '.concat(this.defocusedTargetIds.indexOf(d.id) >= 0 ? config_classes.defocused : '');
                                },
                                classChartText: function classChartText(d) {
                                    return config_classes.chartText + this.classTarget(d.id);
                                },
                                classChartLine: function classChartLine(d) {
                                    return config_classes.chartLine + this.classTarget(d.id);
                                },
                                classChartBar: function classChartBar(d) {
                                    return config_classes.chartBar + this.classTarget(d.id);
                                },
                                classChartArc: function classChartArc(d) {
                                    return config_classes.chartArc + this.classTarget(d.data.id);
                                },
                                classChartRadar: function classChartRadar(d) {
                                    return config_classes.chartRadar + this.classTarget(d.id);
                                },
                                getTargetSelectorSuffix: function getTargetSelectorSuffix(targetId) {
                                    return targetId || targetId === 0 ? '-'.concat(targetId).replace(/[\s?!@#$%^&*()_=+,.<>'":;\[\]\/|~`{}\\]/g, '-') : '';
                                },
                                selectorTarget: function selectorTarget(id, prefix) {
                                    return ''.concat(prefix || '', '.').concat(config_classes.target + this.getTargetSelectorSuffix(id));
                                },
                                selectorTargets: function selectorTargets(idsValue, prefix) {
                                    var $$ = this, ids = idsValue || [];
                                    return ids.length ? ids.map(function (id) {
                                        return $$.selectorTarget(id, prefix);
                                    }) : null;
                                },
                                selectorLegend: function selectorLegend(id) {
                                    return '.'.concat(config_classes.legendItem + this.getTargetSelectorSuffix(id));
                                },
                                selectorLegends: function selectorLegends(ids) {
                                    var $$ = this;
                                    return ids && ids.length ? ids.map(function (id) {
                                        return $$.selectorLegend(id);
                                    }) : null;
                                }
                            });
                            extend(Chart_Chart.prototype, {
                                focus: function focus(targetIdsValue) {
                                    var $$ = this.internal, targetIds = $$.mapToTargetIds(targetIdsValue), candidates = $$.svg.selectAll($$.selectorTargets(targetIds.filter($$.isTargetToShow, $$)));
                                    this.revert(), this.defocus(), candidates.classed(config_classes.focused, !0).classed(config_classes.defocused, !1), $$.hasArcType() && ($$.expandArc(targetIds), $$.hasType('gauge') && $$.markOverlapped(targetIdsValue, $$, '.'.concat(config_classes.gaugeValue))), $$.toggleFocusLegend(targetIds, !0), $$.focusedTargetIds = targetIds, $$.defocusedTargetIds = $$.defocusedTargetIds.filter(function (id) {
                                        return targetIds.indexOf(id) < 0;
                                    });
                                },
                                defocus: function defocus(targetIdsValue) {
                                    var $$ = this.internal, targetIds = $$.mapToTargetIds(targetIdsValue), candidates = $$.svg.selectAll($$.selectorTargets(targetIds.filter($$.isTargetToShow, $$)));
                                    candidates.classed(config_classes.focused, !1).classed(config_classes.defocused, !0), $$.hasArcType() && ($$.unexpandArc(targetIds), $$.hasType('gauge') && $$.undoMarkOverlapped($$, '.'.concat(config_classes.gaugeValue))), $$.toggleFocusLegend(targetIds, !1), $$.focusedTargetIds = $$.focusedTargetIds.filter(function (id) {
                                        return targetIds.indexOf(id) < 0;
                                    }), $$.defocusedTargetIds = targetIds;
                                },
                                revert: function revert(targetIdsValue) {
                                    var $$ = this.internal, targetIds = $$.mapToTargetIds(targetIdsValue), candidates = $$.svg.selectAll($$.selectorTargets(targetIds));
                                    candidates.classed(config_classes.focused, !1).classed(config_classes.defocused, !1), $$.hasArcType() && $$.unexpandArc(targetIds), $$.config.legend_show && ($$.showLegend(targetIds.filter($$.isLegendToShow.bind($$))), $$.legend.selectAll($$.selectorLegends(targetIds)).filter(function () {
                                        return Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this).classed(config_classes.legendItemFocused);
                                    }).classed(config_classes.legendItemFocused, !1)), $$.focusedTargetIds = [], $$.defocusedTargetIds = [];
                                }
                            });
                            extend(Chart_Chart.prototype, {
                                _showHide: function _showHide(show, targetIdsValue, options) {
                                    var $$ = this.internal, targetIds = $$.mapToTargetIds(targetIdsValue);
                                    $$[''.concat(show ? 'remove' : 'add', 'HiddenTargetIds')](targetIds);
                                    var targets = $$.svg.selectAll($$.selectorTargets(targetIds)), opacity = show ? '1' : '0';
                                    targets.transition().style('opacity', opacity, 'important').call($$.endall, function () {
                                        targets.style('opacity', null).style('opacity', opacity);
                                    }), options.withLegend && $$[''.concat(show ? 'show' : 'hide', 'Legend')](targetIds), $$.redraw({
                                        withUpdateOrgXDomain: !0,
                                        withUpdateXDomain: !0,
                                        withLegend: !0
                                    });
                                },
                                show: function show(targetIdsValue) {
                                    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
                                    this._showHide(!0, targetIdsValue, options);
                                },
                                hide: function hide(targetIdsValue) {
                                    var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
                                    this._showHide(!1, targetIdsValue, options);
                                },
                                toggle: function toggle(targetIds) {
                                    var _this = this, options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}, $$ = this.internal, targets = {
                                            show: [],
                                            hide: []
                                        };
                                    $$.mapToTargetIds(targetIds).forEach(function (id) {
                                        return targets[$$.isTargetToShow(id) ? 'hide' : 'show'].push(id);
                                    }), targets.show.length && this.show(targets.show, options), targets.hide.length && setTimeout(function () {
                                        return _this.hide(targets.hide, options);
                                    }, 0);
                                }
                            });
                            var withinRange = function (domain, range) {
                                    var _range = _slicedToArray(range, 2), min = _range[0], max = _range[1];
                                    return domain.every(function (v, i) {
                                        return i === 0 ? v >= min : v <= max;
                                    });
                                }, api_zoom_zoom = function (domainValue) {
                                    var resultDomain, $$ = this.internal, domain = domainValue;
                                    if ($$.config.zoom_enabled && domain && withinRange(domain, $$.getZoomDomain())) {
                                        var isTimeSeries = $$.isTimeSeries();
                                        if (isTimeSeries && (domain = domain.map(function (x) {
                                                return $$.parseDate(x);
                                            })), $$.config.subchart_show) {
                                            var xScale = $$.zoomScale || $$.x;
                                            $$.brush.getSelection().call($$.brush.move, [
                                                xScale(domain[0]),
                                                xScale(domain[1])
                                            ]), resultDomain = domain;
                                        } else
                                            $$.x.domain(domain), $$.zoomScale = $$.x, $$.xAxis.scale($$.zoomScale), resultDomain = $$.zoomScale.orgDomain();
                                        $$.redraw({
                                            withTransition: !0,
                                            withY: $$.config.zoom_rescale,
                                            withDimension: !1
                                        }), $$.setZoomResetButton(), callFn($$.config.zoom_onzoom, $$.api, resultDomain);
                                    } else
                                        resultDomain = $$.zoomScale ? $$.zoomScale.domain() : $$.x.orgDomain();
                                    return resultDomain;
                                };
                            extend(api_zoom_zoom, {
                                enable: function enable() {
                                    var enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'wheel', $$ = this.internal, config = $$.config, enableType = enabled;
                                    enabled && (enableType = isString(enabled) && /^(drag|wheel)$/.test(enabled) ? { type: enabled } : enabled), config.zoom_enabled = enableType, $$.zoom ? enabled === !1 && $$.bindZoomEvent(!1) : ($$.initZoom(), $$.bindZoomEvent()), $$.updateAndRedraw();
                                },
                                max: function max(_max) {
                                    var $$ = this.internal, config = $$.config;
                                    return (_max === 0 || _max) && (config.zoom_x_max = getMinMax('max', [
                                        $$.orgXDomain[1],
                                        _max
                                    ])), config.zoom_x_max;
                                },
                                min: function min(_min) {
                                    var $$ = this.internal, config = $$.config;
                                    return (_min === 0 || _min) && (config.zoom_x_min = getMinMax('min', [
                                        $$.orgXDomain[0],
                                        _min
                                    ])), config.zoom_x_min;
                                },
                                range: function range(_range2) {
                                    var zoom = this.zoom;
                                    if (isObject(_range2)) {
                                        var min = _range2.min, max = _range2.max;
                                        isDefined(min) && zoom.min(min), isDefined(max) && zoom.max(max);
                                    }
                                    return {
                                        min: zoom.min(),
                                        max: zoom.max()
                                    };
                                }
                            }), extend(Chart_Chart.prototype, {
                                zoom: api_zoom_zoom,
                                unzoom: function unzoom() {
                                    var $$ = this.internal, config = $$.config;
                                    if ($$.zoomScale) {
                                        config.subchart_show ? $$.brush.getSelection().call($$.brush.move, null) : $$.zoom.updateTransformScale(external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_['zoomIdentity']), $$.updateZoom(!0), $$.zoom.resetBtn && $$.zoom.resetBtn.style('display', 'none');
                                        var eventRects = $$.main.select('.'.concat(config_classes.eventRects));
                                        Object(external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_['zoomTransform'])(eventRects.node()) !== external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_['zoomIdentity'] && $$.zoom.transform(eventRects, external_commonjs_d3_zoom_commonjs2_d3_zoom_amd_d3_zoom_root_d3_['zoomIdentity']), $$.redraw({
                                            withTransition: !0,
                                            withUpdateXDomain: !0,
                                            withUpdateOrgXDomain: !0,
                                            withY: config.zoom_rescale
                                        });
                                    }
                                }
                            });
                            extend(Chart_Chart.prototype, {
                                load: function load(args) {
                                    var $$ = this.internal, config = $$.config;
                                    args.xs && $$.addXs(args.xs), 'names' in args && this.data.names(args.names), 'classes' in args && Object.keys(args.classes).forEach(function (id) {
                                        config.data_classes[id] = args.classes[id];
                                    }), 'categories' in args && $$.isCategorized() && (config.axis_x_categories = args.categories), 'axes' in args && Object.keys(args.axes).forEach(function (id) {
                                        config.data_axes[id] = args.axes[id];
                                    }), 'colors' in args && Object.keys(args.colors).forEach(function (id) {
                                        config.data_colors[id] = args.colors[id];
                                    }), 'unload' in args && args.unload !== !1 ? $$.unload($$.mapToTargetIds(args.unload === !0 ? null : args.unload), function () {
                                        return $$.loadFromArgs(args);
                                    }) : $$.loadFromArgs(args);
                                },
                                unload: function unload(argsValue) {
                                    var $$ = this.internal, args = argsValue || {};
                                    isArray(args) ? args = { ids: args } : isString(args) && (args = { ids: [args] });
                                    var ids = $$.mapToTargetIds(args.ids);
                                    $$.unload(ids, function () {
                                        $$.redraw({
                                            withUpdateOrgXDomain: !0,
                                            withUpdateXDomain: !0,
                                            withLegend: !0
                                        }), $$.removeCache(ids), args.done && args.done();
                                    });
                                }
                            });
                            var external_commonjs_d3_ease_commonjs2_d3_ease_amd_d3_ease_root_d3_ = __webpack_require__(14);
                            extend(Chart_Chart.prototype, {
                                flow: function flow(args) {
                                    var data, domain, diff, to, $$ = this.internal, length = 0, tail = 0;
                                    if ((args.json || args.rows || args.columns) && (data = $$.convertData(args)), data && $$.isTabVisible()) {
                                        var notfoundIds = [], orgDataCount = $$.getMaxDataCount(), targets = $$.convertDataToTargets(data, !0);
                                        $$.data.targets.forEach(function (t) {
                                            for (var found = !1, i = 0; i < targets.length; i++)
                                                if (t.id === targets[i].id) {
                                                    found = !0, t.values[t.values.length - 1] && (tail = t.values[t.values.length - 1].index + 1), length = targets[i].values.length;
                                                    for (var _j3 = 0; _j3 < length; _j3++)
                                                        targets[i].values[_j3].index = tail + _j3, $$.isTimeSeries() || (targets[i].values[_j3].x = tail + _j3);
                                                    t.values = t.values.concat(targets[i].values), targets.splice(i, 1);
                                                    break;
                                                }
                                            found || notfoundIds.push(t.id);
                                        }), $$.data.targets.forEach(function (t) {
                                            for (var _i = 0; _i < notfoundIds.length; _i++)
                                                if (t.id === notfoundIds[_i]) {
                                                    tail = t.values[t.values.length - 1].index + 1;
                                                    for (var _j4 = 0; _j4 < length; _j4++)
                                                        t.values.push({
                                                            id: t.id,
                                                            index: tail + _j4,
                                                            x: $$.isTimeSeries() ? $$.getOtherTargetX(tail + _j4) : tail + _j4,
                                                            value: null
                                                        });
                                                }
                                        }), $$.data.targets.length && targets.forEach(function (t) {
                                            for (var missing = [], i = $$.data.targets[0].values[0].index; i < tail; i++)
                                                missing.push({
                                                    id: t.id,
                                                    index: i,
                                                    x: $$.isTimeSeries() ? $$.getOtherTargetX(i) : i,
                                                    value: null
                                                });
                                            t.values.forEach(function (v) {
                                                v.index += tail, $$.isTimeSeries() || (v.x += tail);
                                            }), t.values = missing.concat(t.values);
                                        }), $$.data.targets = $$.data.targets.concat(targets);
                                        var baseTarget = $$.data.targets[0], baseValue = baseTarget.values[0];
                                        isDefined(args.to) ? (length = 0, to = $$.isTimeSeries() ? $$.parseDate(args.to) : args.to, baseTarget.values.forEach(function (v) {
                                            v.x < to && length++;
                                        })) : isDefined(args.length) && (length = args.length), orgDataCount ? orgDataCount === 1 && $$.isTimeSeries() && (diff = (baseTarget.values[baseTarget.values.length - 1].x - baseValue.x) / 2, domain = [
                                            new Date(+baseValue.x - diff),
                                            new Date(+baseValue.x + diff)
                                        ]) : (diff = $$.isTimeSeries() ? baseTarget.values.length > 1 ? baseTarget.values[baseTarget.values.length - 1].x - baseValue.x : baseValue.x - $$.getXDomain($$.data.targets)[0] : 1, domain = [
                                            baseValue.x - diff,
                                            baseValue.x
                                        ]), domain && $$.updateXDomain(null, !0, !0, !1, domain), $$.updateTargets($$.data.targets), $$.redraw({
                                            flow: {
                                                index: baseValue.index,
                                                length: length,
                                                duration: isValue(args.duration) ? args.duration : $$.config.transition_duration,
                                                done: args.done,
                                                orgDataCount: orgDataCount
                                            },
                                            withLegend: !0,
                                            withTransition: orgDataCount > 1,
                                            withTrimXDomain: !1,
                                            withUpdateXAxis: !0
                                        });
                                    }
                                }
                            }), extend(ChartInternal_ChartInternal.prototype, {
                                generateFlow: function generateFlow(args) {
                                    var $$ = this, config = $$.config;
                                    return function () {
                                        var translateX, targets = args.targets, flow = args.flow, _args$shape$type = args.shape.type, drawBar = _args$shape$type.bar, drawLine = _args$shape$type.line, drawArea = _args$shape$type.area, _args$shape$pos = args.shape.pos, cx = _args$shape$pos.cx, cy = _args$shape$pos.cy, xForText = _args$shape$pos.xForText, yForText = _args$shape$pos.yForText, xv = args.xv, duration = args.duration, scaleX = 1, flowIndex = flow.index, flowLength = flow.length, flowStart = $$.getValueOnIndex($$.data.targets[0].values, flowIndex), flowEnd = $$.getValueOnIndex($$.data.targets[0].values, flowIndex + flowLength), orgDomain = $$.x.domain(), durationForFlow = flow.duration || duration, done = flow.done || function () {
                                            }, wait = $$.generateWait(), xgrid = $$.xgrid || Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['selectAll'])([]), xgridLines = $$.xgridLines || Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['selectAll'])([]), mainRegion = $$.mainRegion || Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['selectAll'])([]), mainText = $$.mainText || Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['selectAll'])([]), mainBar = $$.mainBar || Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['selectAll'])([]), mainLine = $$.mainLine || Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['selectAll'])([]), mainArea = $$.mainArea || Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['selectAll'])([]), mainCircle = $$.mainCircle || Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['selectAll'])([]);
                                        $$.flowing = !0, $$.data.targets.forEach(function (d) {
                                            d.values.splice(0, flowLength);
                                        });
                                        var domain = $$.updateXDomain(targets, !0, !0);
                                        $$.updateXGrid && $$.updateXGrid(!0), flow.orgDataCount ? flow.orgDataCount === 1 || (flowStart && flowStart.x) === (flowEnd && flowEnd.x) ? translateX = $$.x(orgDomain[0]) - $$.x(domain[0]) : $$.isTimeSeries() ? translateX = $$.x(orgDomain[0]) - $$.x(domain[0]) : translateX = $$.x(flowStart.x) - $$.x(flowEnd.x) : $$.data.targets[0].values.length === 1 ? $$.isTimeSeries() ? (flowStart = $$.getValueOnIndex($$.data.targets[0].values, 0), flowEnd = $$.getValueOnIndex($$.data.targets[0].values, $$.data.targets[0].values.length - 1), translateX = $$.x(flowStart.x) - $$.x(flowEnd.x)) : translateX = diffDomain(domain) / 2 : translateX = $$.x(orgDomain[0]) - $$.x(domain[0]), scaleX = diffDomain(orgDomain) / diffDomain(domain);
                                        var transform = 'translate('.concat(translateX, ',0) scale(').concat(scaleX, ',1)');
                                        $$.hideGridFocus();
                                        var gt = Object(external_commonjs_d3_transition_commonjs2_d3_transition_amd_d3_transition_root_d3_['transition'])().ease(external_commonjs_d3_ease_commonjs2_d3_ease_amd_d3_ease_root_d3_['easeLinear']).duration(durationForFlow);
                                        wait.add([
                                            $$.axes.x.transition(gt).call(function (g) {
                                                return $$.xAxis.setTransition(gt).create(g);
                                            }),
                                            mainBar.transition(gt).attr('transform', transform),
                                            mainLine.transition(gt).attr('transform', transform),
                                            mainArea.transition(gt).attr('transform', transform),
                                            mainCircle.transition(gt).attr('transform', transform),
                                            mainText.transition(gt).attr('transform', transform),
                                            mainRegion.filter($$.isRegionOnX).transition(gt).attr('transform', transform),
                                            xgrid.transition(gt).attr('transform', transform),
                                            xgridLines.transition(gt).attr('transform', transform)
                                        ]), gt.call(wait, function () {
                                            var isRotated = config.axis_rotated;
                                            if (flowLength) {
                                                for (var target = {
                                                            shapes: [],
                                                            texts: [],
                                                            eventRects: []
                                                        }, i = 0; i < flowLength; i++)
                                                    target.shapes.push('.'.concat(config_classes.shape, '-').concat(i)), target.texts.push('.'.concat(config_classes.text, '-').concat(i)), target.eventRects.push('.'.concat(config_classes.eventRect, '-').concat(i));
                                                [
                                                    'shapes',
                                                    'texts',
                                                    'eventRects'
                                                ].forEach(function (v) {
                                                    $$.svg.selectAll('.'.concat(config_classes[v])).selectAll(target[v]).remove();
                                                }), $$.svg.select('.'.concat(config_classes.xgrid)).remove();
                                            }
                                            if (xgrid.size() && xgrid.attr('transform', null).attr($$.xgridAttr), xgridLines.attr('transform', null), xgridLines.select('line').attr('x1', isRotated ? 0 : xv).attr('x2', isRotated ? $$.width : xv), xgridLines.select('text').attr('x', isRotated ? $$.width : 0).attr('y', xv), mainBar.attr('transform', null).attr('d', drawBar), mainLine.attr('transform', null).attr('d', drawLine), mainArea.attr('transform', null).attr('d', drawArea), mainCircle.attr('transform', null), $$.isCirclePoint())
                                                mainCircle.attr('cx', cx).attr('cy', cy);
                                            else {
                                                var xFunc = function (d) {
                                                        return cx(d) - config.point_r;
                                                    }, yFunc = function (d) {
                                                        return cy(d) - config.point_r;
                                                    };
                                                mainCircle.attr('x', xFunc).attr('y', yFunc).attr('cx', cx).attr('cy', cy);
                                            }
                                            mainText.attr('transform', null).attr('x', xForText).attr('y', yForText).style('fill-opacity', $$.opacityForText.bind($$)), mainRegion.attr('transform', null), mainRegion.select('rect').filter($$.isRegionOnX).attr('x', $$.regionX.bind($$)).attr('width', $$.regionWidth.bind($$)), config.interaction_enabled && $$.redrawEventRect(), done(), $$.flowing = !1;
                                        });
                                    };
                                }
                            });
                            extend(Chart_Chart.prototype, {
                                selected: function selected(targetId) {
                                    var $$ = this.internal, dataPoint = [];
                                    return $$.main.selectAll('.'.concat(config_classes.shapes + $$.getTargetSelectorSuffix(targetId))).selectAll('.'.concat(config_classes.shape)).filter(function () {
                                        return Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this).classed(config_classes.SELECTED);
                                    }).each(function (d) {
                                        return dataPoint.push(d);
                                    }), dataPoint;
                                },
                                select: function select(ids, indices, resetOther) {
                                    var $$ = this.internal, config = $$.config;
                                    config.data_selection_enabled && $$.main.selectAll('.'.concat(config_classes.shapes)).selectAll('.'.concat(config_classes.shape)).each(function (d, i) {
                                        var shape = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this), id = d.data ? d.data.id : d.id, toggle = $$.getToggle(this, d).bind($$), isTargetId = config.data_selection_grouped || !ids || ids.indexOf(id) >= 0, isTargetIndex = !indices || indices.indexOf(i) >= 0, isSelected = shape.classed(config_classes.SELECTED);
                                        shape.classed(config_classes.line) || shape.classed(config_classes.area) || (isTargetId && isTargetIndex ? config.data_selection_isselectable(d) && !isSelected && toggle(!0, shape.classed(config_classes.SELECTED, !0), d, i) : isDefined(resetOther) && resetOther && isSelected && toggle(!1, shape.classed(config_classes.SELECTED, !1), d, i));
                                    });
                                },
                                unselect: function unselect(ids, indices) {
                                    var $$ = this.internal, config = $$.config;
                                    config.data_selection_enabled && $$.main.selectAll('.'.concat(config_classes.shapes)).selectAll('.'.concat(config_classes.shape)).each(function (d, i) {
                                        var shape = Object(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['select'])(this), id = d.data ? d.data.id : d.id, toggle = $$.getToggle(this, d).bind($$), isTargetId = config.data_selection_grouped || !ids || ids.indexOf(id) >= 0, isTargetIndex = !indices || indices.indexOf(i) >= 0, isSelected = shape.classed(config_classes.SELECTED);
                                        shape.classed(config_classes.line) || shape.classed(config_classes.area) || isTargetId && isTargetIndex && config.data_selection_isselectable(d) && isSelected && toggle(!1, shape.classed(config_classes.SELECTED, !1), d, i);
                                    });
                                }
                            });
                            function transformTo(targetIds, type, optionsForRedraw) {
                                var $$ = this, options = optionsForRedraw || { withTransitionForAxis: !$$.hasArcType() };
                                options.withTransitionForTransform = !1, $$.transiting = !1, $$.setTargetType(targetIds, type), $$.updateTargets($$.data.targets), $$.updateAndRedraw(options);
                            }
                            extend(Chart_Chart.prototype, {
                                transform: function transform(type, targetIds) {
                                    var $$ = this.internal, options = [
                                            'pie',
                                            'donut'
                                        ].indexOf(type) >= 0 ? { withTransform: !0 } : null;
                                    transformTo.bind($$)(targetIds, type, options);
                                }
                            });
                            extend(Chart_Chart.prototype, {
                                groups: function groups(_groups) {
                                    var $$ = this.internal, config = $$.config;
                                    return isUndefined(_groups) ? config.data_groups : (config.data_groups = _groups, $$.redraw(), config.data_groups);
                                }
                            });
                            var xgrids = function (grids) {
                                var $$ = this.internal, config = $$.config;
                                return grids ? (config.grid_x_lines = grids, $$.redrawWithoutRescale(), config.grid_x_lines) : config.grid_x_lines;
                            };
                            extend(xgrids, {
                                add: function add(grids) {
                                    return this.xgrids(this.internal.config.grid_x_lines.concat(grids || []));
                                },
                                remove: function remove(params) {
                                    this.internal.removeGridLines(params, !0);
                                }
                            });
                            var ygrids = function (grids) {
                                var $$ = this.internal, config = $$.config;
                                return grids ? (config.grid_y_lines = grids, $$.redrawWithoutRescale(), config.grid_y_lines) : config.grid_y_lines;
                            };
                            extend(ygrids, {
                                add: function add(grids) {
                                    return this.ygrids(this.internal.config.grid_y_lines.concat(grids || []));
                                },
                                remove: function remove(params) {
                                    this.internal.removeGridLines(params, !1);
                                }
                            }), extend(Chart_Chart.prototype, {
                                xgrids: xgrids,
                                ygrids: ygrids
                            });
                            var api_region_regions = function (_regions) {
                                var $$ = this.internal, config = $$.config;
                                return _regions ? (config.regions = _regions, $$.redrawWithoutRescale(), _regions) : config.regions;
                            };
                            extend(api_region_regions, {
                                add: function add(regions) {
                                    var $$ = this.internal, config = $$.config;
                                    return regions ? (config.regions = config.regions.concat(regions), $$.redrawWithoutRescale(), config.regions) : config.regions;
                                },
                                remove: function remove(optionsValue) {
                                    var $$ = this.internal, config = $$.config, options = optionsValue || {}, duration = getOption(options, 'duration', config.transition_duration), classes = getOption(options, 'classes', [config_classes.region]), regions = $$.main.select('.'.concat(config_classes.regions)).selectAll(classes.map(function (c) {
                                            return '.'.concat(c);
                                        }));
                                    return (duration ? regions.transition().duration(duration) : regions).style('opacity', '0').remove(), regions = config.regions, Object.keys(options).length ? (regions = regions.filter(function (region) {
                                        var found = !1;
                                        return !region['class'] || (region['class'].split(' ').forEach(function (c) {
                                            classes.indexOf(c) >= 0 && (found = !0);
                                        }), !found);
                                    }), config.regions = regions) : config.regions = [], regions;
                                }
                            }), extend(Chart_Chart.prototype, { regions: api_region_regions });
                            var api_data_data = function (targetIds) {
                                var targets = this.internal.data.targets;
                                if (!isUndefined(targetIds)) {
                                    var ids = isArray(targetIds) ? targetIds : [targetIds];
                                    return targets.filter(function (t) {
                                        return ids.some(function (v) {
                                            return v === t.id;
                                        });
                                    });
                                }
                                return targets;
                            };
                            extend(api_data_data, {
                                shown: function shown(targetIds) {
                                    return this.internal.filterTargetsToShow(this.data(targetIds));
                                },
                                values: function (targetId) {
                                    var flat = !(arguments.length > 1 && arguments[1] !== undefined) || arguments[1], values = null;
                                    if (targetId) {
                                        var targets = this.data(targetId);
                                        targets && isArray(targets) && (values = [], targets.forEach(function (v) {
                                            var dataValue = v.values.map(function (d) {
                                                return d.value;
                                            });
                                            flat ? values = values.concat(dataValue) : values.push(dataValue);
                                        }));
                                    }
                                    return values;
                                },
                                names: function names(_names) {
                                    return this.internal.clearLegendItemTextBoxCache(), this.internal.updateDataAttributes('names', _names);
                                },
                                colors: function colors(_colors) {
                                    return this.internal.updateDataAttributes('colors', _colors);
                                },
                                axes: function axes(_axes) {
                                    return this.internal.updateDataAttributes('axes', _axes);
                                },
                                min: function min() {
                                    return this.internal.getMinMaxData().min;
                                },
                                max: function max() {
                                    return this.internal.getMinMaxData().max;
                                }
                            }), extend(Chart_Chart.prototype, { data: api_data_data });
                            extend(Chart_Chart.prototype, {
                                category: function category(i, _category) {
                                    var $$ = this.internal, config = $$.config;
                                    return arguments.length > 1 && (config.axis_x_categories[i] = _category, $$.redraw()), config.axis_x_categories[i];
                                },
                                categories: function categories(_categories) {
                                    var $$ = this.internal, config = $$.config;
                                    return arguments.length ? (config.axis_x_categories = _categories, $$.redraw(), config.axis_x_categories) : config.axis_x_categories;
                                }
                            });
                            extend(Chart_Chart.prototype, {
                                color: function color(id) {
                                    return this.internal.color(id);
                                }
                            });
                            extend(Chart_Chart.prototype, {
                                x: function x(_x) {
                                    var $$ = this.internal, isCategorized = $$.isCustomX() && $$.isCategorized();
                                    return isArray(_x) && (isCategorized ? $$.api.categories(_x) : ($$.updateTargetX($$.data.targets, _x), $$.redraw({
                                        withUpdateOrgXDomain: !0,
                                        withUpdateXDomain: !0
                                    }))), isCategorized ? $$.api.categories() : $$.data.xs;
                                },
                                xs: function xs(_xs) {
                                    var $$ = this.internal;
                                    return isObject(_xs) && ($$.updateTargetXs($$.data.targets, _xs), $$.redraw({
                                        withUpdateOrgXDomain: !0,
                                        withUpdateXDomain: !0
                                    })), $$.data.xs;
                                }
                            });
                            var setMinMax = function ($$, type, value) {
                                    var config = $$.config, axisX = 'axis_x_'.concat(type), axisY = 'axis_y_'.concat(type), axisY2 = 'axis_y2_'.concat(type);
                                    return isDefined(value) && (isObjectType(value) ? (isValue(value.x) && (config[axisX] = value.x), isValue(value.y) && (config[axisY] = value.y), isValue(value.y2) && (config[axisY2] = value.y2)) : (config[axisY] = value, config[axisY2] = value), $$.redraw({
                                        withUpdateOrgXDomain: !0,
                                        withUpdateXDomain: !0
                                    })), undefined;
                                }, api_axis_getMinMax = function ($$, type) {
                                    var config = $$.config;
                                    return {
                                        x: config['axis_x_'.concat(type)],
                                        y: config['axis_y_'.concat(type)],
                                        y2: config['axis_y2_'.concat(type)]
                                    };
                                }, api_axis_axis = extend(function () {
                                }, {
                                    labels: function labels(_labels) {
                                        var $$ = this.internal;
                                        arguments.length && (Object.keys(_labels).forEach(function (axisId) {
                                            $$.axis.setLabelText(axisId, _labels[axisId]);
                                        }), $$.axis.updateLabels());
                                    },
                                    min: function min(_min) {
                                        var $$ = this.internal;
                                        return arguments.length ? setMinMax($$, 'min', _min) : api_axis_getMinMax($$, 'min');
                                    },
                                    max: function max(_max) {
                                        var $$ = this.internal;
                                        return arguments.length ? setMinMax($$, 'max', _max) : api_axis_getMinMax($$, 'max');
                                    },
                                    range: function range(_range) {
                                        var axis = this.axis;
                                        if (arguments.length)
                                            isDefined(_range.max) && axis.max(_range.max), isDefined(_range.min) && axis.min(_range.min);
                                        else
                                            return {
                                                max: axis.max(),
                                                min: axis.min()
                                            };
                                        return undefined;
                                    }
                                });
                            extend(Chart_Chart.prototype, { axis: api_axis_axis });
                            var legend = extend(function () {
                            }, {
                                show: function show(targetIds) {
                                    var $$ = this.internal;
                                    $$.showLegend($$.mapToTargetIds(targetIds)), $$.updateAndRedraw({ withLegend: !0 });
                                },
                                hide: function hide(targetIds) {
                                    var $$ = this.internal;
                                    $$.hideLegend($$.mapToTargetIds(targetIds)), $$.updateAndRedraw({ withLegend: !0 });
                                }
                            });
                            extend(Chart_Chart.prototype, { legend: legend });
                            extend(Chart_Chart.prototype, {
                                resize: function resize(size) {
                                    var $$ = this.internal, config = $$.config;
                                    $$.rendered && (config.size_width = size ? size.width : null, config.size_height = size ? size.height : null, this.flush(!1, !0), $$.resizeFunction());
                                },
                                flush: function flush(soft, _isFromResize) {
                                    var $$ = this.internal;
                                    $$.rendered ? (_isFromResize ? $$.brush && $$.brush.updateResize() : $$.axis && $$.axis.setOrient(), $$.zoomScale = null, soft ? $$.redraw({
                                        withTransform: !0,
                                        withUpdateXDomain: !0,
                                        withUpdateOrgXDomain: !0,
                                        withLegend: !0
                                    }) : $$.updateAndRedraw({
                                        withLegend: !0,
                                        withTransition: !1,
                                        withTransitionForTransform: !1
                                    })) : $$.initToRender(!0);
                                },
                                destroy: function destroy() {
                                    var _this = this, $$ = this.internal;
                                    return notEmpty($$) && ($$.callPluginHook('$willDestroy'), $$.charts.splice($$.charts.indexOf(this), 1), $$.svg.select('*').interrupt(), $$.generateResize.timeout && win.clearTimeout($$.generateResize.timeout), win.removeEventListener('resize', $$.resizeFunction), $$.selectChart.classed('bb', !1).html(''), Object.keys(this).forEach(function (key) {
                                        key === 'internal' && Object.keys($$).forEach(function (k) {
                                            $$[k] = null;
                                        }), _this[key] = null, delete _this[key];
                                    })), null;
                                },
                                config: function config(name, value, redraw) {
                                    var res, $$ = this.internal, key = name && name.replace(/\./g, '_');
                                    return key in $$.config && (isDefined(value) ? ($$.config[key] = value, res = value, redraw && this.flush()) : res = $$.config[key]), res;
                                }
                            });
                            var api_tooltip_tooltip = extend(function () {
                            }, {
                                show: function show() {
                                    var index, mouse, args = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}, $$ = this.internal;
                                    if (args.mouse && (mouse = args.mouse), args.data) {
                                        var y = $$.getYScale(args.data.id)(args.data.value);
                                        $$.isMultipleX() ? mouse = [
                                            $$.x(args.data.x),
                                            y
                                        ] : (!$$.config.tooltip_grouped && (mouse = [
                                            0,
                                            y
                                        ]), index = isValue(args.data.index) ? args.data.index : $$.getIndexByX(args.data.x));
                                    } else
                                        isDefined(args.x) ? index = $$.getIndexByX(args.x) : isDefined(args.index) && (index = args.index);
                                    ($$.inputType === 'mouse' ? [
                                        'mouseover',
                                        'mousemove'
                                    ] : ['touchstart']).forEach(function (eventName) {
                                        $$.dispatchEvent(eventName, index, mouse);
                                    });
                                },
                                hide: function hide() {
                                    var $$ = this.internal;
                                    $$.inputType === 'touch' && $$.callOverOutForTouch(), $$.hideTooltip(!0), $$.hideGridFocus(), $$.unexpandCircles(), $$.unexpandBars();
                                }
                            });
                            extend(Chart_Chart.prototype, { tooltip: api_tooltip_tooltip });
                            var b64EncodeUnicode = function (str) {
                                    return btoa(encodeURIComponent(str).replace(/%([0-9A-F]{2})/g, function (match, p) {
                                        return String.fromCharCode('0x'.concat(p));
                                    }));
                                }, nodeToSvgDataUrl = function (node, size) {
                                    var serializer = new XMLSerializer(), clone = node.cloneNode(!0), cssText = getCssRules(toArray(browser_doc.styleSheets)).filter(function (r) {
                                            return r.cssText;
                                        }).map(function (r) {
                                            return r.cssText;
                                        });
                                    clone.setAttribute('xmlns', external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['namespaces'].xhtml);
                                    var nodeXml = serializer.serializeToString(clone), style = browser_doc.createElement('style');
                                    style.appendChild(browser_doc.createTextNode(cssText.join('\n')));
                                    var styleXml = serializer.serializeToString(style), dataStr = '<svg xmlns="'.concat(external_commonjs_d3_selection_commonjs2_d3_selection_amd_d3_selection_root_d3_['namespaces'].svg, '" width="').concat(size.width, '" height="').concat(size.height, '">\n\t\t\t<foreignObject width="100%" height="100%">\n\t\t\t\t').concat(styleXml, '\n\t\t\t\t').concat(nodeXml.replace(/(url\()[^#]+/g, '$1'), '\n\t\t\t</foreignObject></svg>').replace('/\n/g', '%0A');
                                    return 'data:image/svg+xml;base64,'.concat(b64EncodeUnicode(dataStr));
                                };
                            extend(Chart_Chart.prototype, {
                                'export': function _export(mimeType, callback) {
                                    var $$ = this.internal, size = {
                                            width: $$.currentWidth,
                                            height: $$.currentHeight
                                        }, svgDataUrl = nodeToSvgDataUrl(this.element, size);
                                    if (isFunction(callback)) {
                                        var img = new Image();
                                        img.crosssOrigin = 'Anonymous', img.onload = function () {
                                            var canvas = browser_doc.createElement('canvas'), ctx = canvas.getContext('2d');
                                            canvas.width = size.width, canvas.height = size.height, ctx.drawImage(img, 0, 0), callback(canvas.toDataURL(mimeType));
                                        }, img.src = svgDataUrl;
                                    }
                                    return svgDataUrl;
                                }
                            });
                            var _defaults = {}, bb = {
                                    version: '1.12.11',
                                    generate: function generate(config) {
                                        var options = mergeObj({}, _defaults, config), inst = new Chart_Chart(options);
                                        return inst.internal.charts = this.instance, this.instance.push(inst), inst;
                                    },
                                    defaults: function defaults(options) {
                                        return isObject(options) && (_defaults = options), _defaults;
                                    },
                                    instance: [],
                                    plugin: {},
                                    chart: {
                                        fn: Chart_Chart.prototype,
                                        internal: {
                                            fn: ChartInternal_ChartInternal.prototype,
                                            axis: { fn: Axis_Axis.prototype }
                                        }
                                    }
                                };
                            var core = __webpack_exports__['default'] = bb;
                        }
                    ]);
                }));
            }.call(this, __webpack_require__('./node_modules/webpack/buildin/global.js')));
        },
        './node_modules/classnames/index.js': function (module, exports, __webpack_require__) {
            var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;
            (function () {
                'use strict';
                var hasOwn = {}.hasOwnProperty;
                function classNames() {
                    var classes = [];
                    for (var i = 0; i < arguments.length; i++) {
                        var arg = arguments[i];
                        if (!arg)
                            continue;
                        var argType = typeof arg;
                        if (argType === 'string' || argType === 'number') {
                            classes.push(arg);
                        } else if (Array.isArray(arg)) {
                            if (arg.length) {
                                var inner = classNames.apply(null, arg);
                                if (inner) {
                                    classes.push(inner);
                                }
                            }
                        } else if (argType === 'object') {
                            if (arg.toString === Object.prototype.toString) {
                                for (var key in arg) {
                                    if (hasOwn.call(arg, key) && arg[key]) {
                                        classes.push(key);
                                    }
                                }
                            } else {
                                classes.push(arg.toString());
                            }
                        }
                    }
                    return classes.join(' ');
                }
                if (true && module.exports) {
                    classNames.default = classNames;
                    module.exports = classNames;
                } else if (true) {
                    !(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {
                        return classNames;
                    }.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
                } else {
                }
            }());
        },
        './node_modules/css-loader/dist/cjs.js!./src/common/components/donut-chart/index.css': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/css-loader/dist/runtime/cssWithMappingToString.js');
            var _node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0__);
            var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/css-loader/dist/runtime/api.js');
            var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = __webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__);
            var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()(_node_modules_css_loader_dist_runtime_cssWithMappingToString_js__WEBPACK_IMPORTED_MODULE_0___default.a);
            ___CSS_LOADER_EXPORT___.push([
                module.i,
                '.donut-chart-container .legend-content {\n\tfont-size: 14px;\n\twidth: 130px;\n}\n\n.donut-chart-container .legend-color {\n\theight: 8px;\n\twidth: 8px;\n}\n\n.donut-chart-container .legend-title {\n\tcolor: #5c5e5e;\n}\n\n.donut-chart-container .bb-chart-arcs-title {\n\tdominant-baseline: central;\n\tfont-size: 32px;\n\tfont-weight: 700;\n}\n\n.dashboard-sales-container .bb-chart-arcs-title {\n\tdominant-baseline: central;\n\tfont-size: 24px;\n\tfont-weight: 700;\n}\n\n.donut-chart-container .donut-chart-tooltip {\n\tborder: 1px solid #55c2ff;\n\tcolor: #55c2ff;\n\tfont-size: 0.875rem;\n\tfont-style: normal;\n\twidth: 100%;\n}\n\n.donut-chart-container .legend-container {\n\tflex-direction: column;\n}\n\n@media screen and (max-width: 1845px) {\n\t.donut-chart-container .legend-container {\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: space-evenly;\n\t}\n}\n\n@media screen and (max-width: 1280px) {\n\t.donut-chart-legend {\n\t\tflex-direction: row !important;\n\t\tjustify-content: space-evenly !important;\n\t}\n\n\t.donut-chart-screen {\n\t\tpadding-left: 24px;\n\t\tpadding-right: 24px;\n\t}\n}\n',
                '',
                {
                    'version': 3,
                    'sources': ['webpack://./src/common/components/donut-chart/index.css'],
                    'names': [],
                    'mappings': 'AAAA;CACC,eAAe;CACf,YAAY;AACb;;AAEA;CACC,WAAW;CACX,UAAU;AACX;;AAEA;CACC,cAAc;AACf;;AAEA;CACC,0BAA0B;CAC1B,eAAe;CACf,gBAAgB;AACjB;;AAEA;CACC,0BAA0B;CAC1B,eAAe;CACf,gBAAgB;AACjB;;AAEA;CACC,yBAAyB;CACzB,cAAc;CACd,mBAAmB;CACnB,kBAAkB;CAClB,WAAW;AACZ;;AAEA;CACC,sBAAsB;AACvB;;AAEA;CACC;EACC,mBAAmB;EACnB,eAAe;EACf,6BAA6B;CAC9B;AACD;;AAEA;CACC;EACC,8BAA8B;EAC9B,wCAAwC;CACzC;;CAEA;EACC,kBAAkB;EAClB,mBAAmB;CACpB;AACD',
                    'sourcesContent': ['.donut-chart-container .legend-content {\n\tfont-size: 14px;\n\twidth: 130px;\n}\n\n.donut-chart-container .legend-color {\n\theight: 8px;\n\twidth: 8px;\n}\n\n.donut-chart-container .legend-title {\n\tcolor: #5c5e5e;\n}\n\n.donut-chart-container .bb-chart-arcs-title {\n\tdominant-baseline: central;\n\tfont-size: 32px;\n\tfont-weight: 700;\n}\n\n.dashboard-sales-container .bb-chart-arcs-title {\n\tdominant-baseline: central;\n\tfont-size: 24px;\n\tfont-weight: 700;\n}\n\n.donut-chart-container .donut-chart-tooltip {\n\tborder: 1px solid #55c2ff;\n\tcolor: #55c2ff;\n\tfont-size: 0.875rem;\n\tfont-style: normal;\n\twidth: 100%;\n}\n\n.donut-chart-container .legend-container {\n\tflex-direction: column;\n}\n\n@media screen and (max-width: 1845px) {\n\t.donut-chart-container .legend-container {\n\t\tflex-direction: row;\n\t\tflex-wrap: wrap;\n\t\tjustify-content: space-evenly;\n\t}\n}\n\n@media screen and (max-width: 1280px) {\n\t.donut-chart-legend {\n\t\tflex-direction: row !important;\n\t\tjustify-content: space-evenly !important;\n\t}\n\n\t.donut-chart-screen {\n\t\tpadding-left: 24px;\n\t\tpadding-right: 24px;\n\t}\n}\n'],
                    'sourceRoot': ''
                }
            ]);
            __webpack_exports__['default'] = ___CSS_LOADER_EXPORT___;
        },
        './node_modules/css-loader/dist/runtime/api.js': function (module, exports, __webpack_require__) {
            'use strict';
            module.exports = function (cssWithMappingToString) {
                var list = [];
                list.toString = function toString() {
                    return this.map(function (item) {
                        var content = cssWithMappingToString(item);
                        if (item[2]) {
                            return '@media '.concat(item[2], ' {').concat(content, '}');
                        }
                        return content;
                    }).join('');
                };
                list.i = function (modules, mediaQuery, dedupe) {
                    if (typeof modules === 'string') {
                        modules = [[
                                null,
                                modules,
                                ''
                            ]];
                    }
                    var alreadyImportedModules = {};
                    if (dedupe) {
                        for (var i = 0; i < this.length; i++) {
                            var id = this[i][0];
                            if (id != null) {
                                alreadyImportedModules[id] = true;
                            }
                        }
                    }
                    for (var _i = 0; _i < modules.length; _i++) {
                        var item = [].concat(modules[_i]);
                        if (dedupe && alreadyImportedModules[item[0]]) {
                            continue;
                        }
                        if (mediaQuery) {
                            if (!item[2]) {
                                item[2] = mediaQuery;
                            } else {
                                item[2] = ''.concat(mediaQuery, ' and ').concat(item[2]);
                            }
                        }
                        list.push(item);
                    }
                };
                return list;
            };
        },
        './node_modules/css-loader/dist/runtime/cssWithMappingToString.js': function (module, exports, __webpack_require__) {
            'use strict';
            function _slicedToArray(arr, i) {
                return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
            }
            function _nonIterableRest() {
                throw new TypeError('Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
            }
            function _unsupportedIterableToArray(o, minLen) {
                if (!o)
                    return;
                if (typeof o === 'string')
                    return _arrayLikeToArray(o, minLen);
                var n = Object.prototype.toString.call(o).slice(8, -1);
                if (n === 'Object' && o.constructor)
                    n = o.constructor.name;
                if (n === 'Map' || n === 'Set')
                    return Array.from(o);
                if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
                    return _arrayLikeToArray(o, minLen);
            }
            function _arrayLikeToArray(arr, len) {
                if (len == null || len > arr.length)
                    len = arr.length;
                for (var i = 0, arr2 = new Array(len); i < len; i++) {
                    arr2[i] = arr[i];
                }
                return arr2;
            }
            function _iterableToArrayLimit(arr, i) {
                var _i = arr && (typeof Symbol !== 'undefined' && arr[Symbol.iterator] || arr['@@iterator']);
                if (_i == null)
                    return;
                var _arr = [];
                var _n = true;
                var _d = false;
                var _s, _e;
                try {
                    for (_i = _i.call(arr); !(_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;
            }
            module.exports = function cssWithMappingToString(item) {
                var _item = _slicedToArray(item, 4), content = _item[1], cssMapping = _item[3];
                if (!cssMapping) {
                    return content;
                }
                if (typeof btoa === 'function') {
                    var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));
                    var data = 'sourceMappingURL=data:application/json;charset=utf-8;base64,'.concat(base64);
                    var sourceMapping = '/*# '.concat(data, ' */');
                    var sourceURLs = cssMapping.sources.map(function (source) {
                        return '/*# sourceURL='.concat(cssMapping.sourceRoot || '').concat(source, ' */');
                    });
                    return [content].concat(sourceURLs).concat([sourceMapping]).join('\n');
                }
                return [content].join('\n');
            };
        },
        './node_modules/d3-array/src/array.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'slice', function () {
                return slice;
            });
            __webpack_require__.d(__webpack_exports__, 'map', function () {
                return map;
            });
            var array = Array.prototype;
            var slice = array.slice;
            var map = array.map;
        },
        './node_modules/d3-array/src/ascending.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (a, b) {
                return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
            };
        },
        './node_modules/d3-array/src/bisect.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'bisectRight', function () {
                return bisectRight;
            });
            __webpack_require__.d(__webpack_exports__, 'bisectLeft', function () {
                return bisectLeft;
            });
            var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/ascending.js');
            var _bisector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-array/src/bisector.js');
            var ascendingBisect = Object(_bisector__WEBPACK_IMPORTED_MODULE_1__['default'])(_ascending__WEBPACK_IMPORTED_MODULE_0__['default']);
            var bisectRight = ascendingBisect.right;
            var bisectLeft = ascendingBisect.left;
            __webpack_exports__['default'] = bisectRight;
        },
        './node_modules/d3-array/src/bisector.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/ascending.js');
            __webpack_exports__['default'] = function (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 Object(_ascending__WEBPACK_IMPORTED_MODULE_0__['default'])(f(d), x);
                };
            }
        },
        './node_modules/d3-array/src/constant.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return function () {
                    return x;
                };
            };
        },
        './node_modules/d3-array/src/cross.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _pairs__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/pairs.js');
            __webpack_exports__['default'] = function (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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (a, b) {
                return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;
            };
        },
        './node_modules/d3-array/src/deviation.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _variance__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/variance.js');
            __webpack_exports__['default'] = function (array, f) {
                var v = Object(_variance__WEBPACK_IMPORTED_MODULE_0__['default'])(array, f);
                return v ? Math.sqrt(v) : v;
            };
        },
        './node_modules/d3-array/src/extent.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (values, valueof) {
                var n = values.length, i = -1, value, min, max;
                if (valueof == null) {
                    while (++i < n) {
                        if ((value = values[i]) != null && value >= value) {
                            min = max = value;
                            while (++i < n) {
                                if ((value = values[i]) != null) {
                                    if (min > value)
                                        min = value;
                                    if (max < value)
                                        max = value;
                                }
                            }
                        }
                    }
                } else {
                    while (++i < n) {
                        if ((value = valueof(values[i], i, values)) != null && value >= value) {
                            min = max = value;
                            while (++i < n) {
                                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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/array.js');
            var _bisect__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-array/src/bisect.js');
            var _constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-array/src/constant.js');
            var _extent__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-array/src/extent.js');
            var _identity__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-array/src/identity.js');
            var _range__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-array/src/range.js');
            var _ticks__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-array/src/ticks.js');
            var _threshold_sturges__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-array/src/threshold/sturges.js');
            __webpack_exports__['default'] = function () {
                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);
                    if (!Array.isArray(tz)) {
                        tz = Object(_ticks__WEBPACK_IMPORTED_MODULE_6__['tickStep'])(x0, x1, tz);
                        tz = Object(_range__WEBPACK_IMPORTED_MODULE_5__['default'])(Math.ceil(x0 / tz) * tz, x1, tz);
                    }
                    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;
                    for (i = 0; i <= m; ++i) {
                        bin = bins[i] = [];
                        bin.x0 = i > 0 ? tz[i - 1] : x0;
                        bin.x1 = i < m ? tz[i] : x1;
                    }
                    for (i = 0; i < n; ++i) {
                        x = values[i];
                        if (x0 <= x && x <= x1) {
                            bins[Object(_bisect__WEBPACK_IMPORTED_MODULE_1__['default'])(tz, x, 0, m)].push(data[i]);
                        }
                    }
                    return bins;
                }
                histogram.value = function (_) {
                    return arguments.length ? (value = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_2__['default'])(_), histogram) : value;
                };
                histogram.domain = function (_) {
                    return arguments.length ? (domain = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_2__['default'])([
                        _[0],
                        _[1]
                    ]), histogram) : domain;
                };
                histogram.thresholds = function (_) {
                    return arguments.length ? (threshold = typeof _ === 'function' ? _ : Array.isArray(_) ? Object(_constant__WEBPACK_IMPORTED_MODULE_2__['default'])(_array__WEBPACK_IMPORTED_MODULE_0__['slice'].call(_)) : Object(_constant__WEBPACK_IMPORTED_MODULE_2__['default'])(_), histogram) : threshold;
                };
                return histogram;
            };
        },
        './node_modules/d3-array/src/identity.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return x;
            };
        },
        './node_modules/d3-array/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _bisect__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/bisect.js');
            __webpack_require__.d(__webpack_exports__, 'bisect', function () {
                return _bisect__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'bisectRight', function () {
                return _bisect__WEBPACK_IMPORTED_MODULE_0__['bisectRight'];
            });
            __webpack_require__.d(__webpack_exports__, 'bisectLeft', function () {
                return _bisect__WEBPACK_IMPORTED_MODULE_0__['bisectLeft'];
            });
            var _ascending__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-array/src/ascending.js');
            __webpack_require__.d(__webpack_exports__, 'ascending', function () {
                return _ascending__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _bisector__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-array/src/bisector.js');
            __webpack_require__.d(__webpack_exports__, 'bisector', function () {
                return _bisector__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            var _cross__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-array/src/cross.js');
            __webpack_require__.d(__webpack_exports__, 'cross', function () {
                return _cross__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
            var _descending__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-array/src/descending.js');
            __webpack_require__.d(__webpack_exports__, 'descending', function () {
                return _descending__WEBPACK_IMPORTED_MODULE_4__['default'];
            });
            var _deviation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-array/src/deviation.js');
            __webpack_require__.d(__webpack_exports__, 'deviation', function () {
                return _deviation__WEBPACK_IMPORTED_MODULE_5__['default'];
            });
            var _extent__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-array/src/extent.js');
            __webpack_require__.d(__webpack_exports__, 'extent', function () {
                return _extent__WEBPACK_IMPORTED_MODULE_6__['default'];
            });
            var _histogram__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-array/src/histogram.js');
            __webpack_require__.d(__webpack_exports__, 'histogram', function () {
                return _histogram__WEBPACK_IMPORTED_MODULE_7__['default'];
            });
            var _threshold_freedmanDiaconis__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-array/src/threshold/freedmanDiaconis.js');
            __webpack_require__.d(__webpack_exports__, 'thresholdFreedmanDiaconis', function () {
                return _threshold_freedmanDiaconis__WEBPACK_IMPORTED_MODULE_8__['default'];
            });
            var _threshold_scott__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__('./node_modules/d3-array/src/threshold/scott.js');
            __webpack_require__.d(__webpack_exports__, 'thresholdScott', function () {
                return _threshold_scott__WEBPACK_IMPORTED_MODULE_9__['default'];
            });
            var _threshold_sturges__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__('./node_modules/d3-array/src/threshold/sturges.js');
            __webpack_require__.d(__webpack_exports__, 'thresholdSturges', function () {
                return _threshold_sturges__WEBPACK_IMPORTED_MODULE_10__['default'];
            });
            var _max__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__('./node_modules/d3-array/src/max.js');
            __webpack_require__.d(__webpack_exports__, 'max', function () {
                return _max__WEBPACK_IMPORTED_MODULE_11__['default'];
            });
            var _mean__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__('./node_modules/d3-array/src/mean.js');
            __webpack_require__.d(__webpack_exports__, 'mean', function () {
                return _mean__WEBPACK_IMPORTED_MODULE_12__['default'];
            });
            var _median__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__('./node_modules/d3-array/src/median.js');
            __webpack_require__.d(__webpack_exports__, 'median', function () {
                return _median__WEBPACK_IMPORTED_MODULE_13__['default'];
            });
            var _merge__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__('./node_modules/d3-array/src/merge.js');
            __webpack_require__.d(__webpack_exports__, 'merge', function () {
                return _merge__WEBPACK_IMPORTED_MODULE_14__['default'];
            });
            var _min__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__('./node_modules/d3-array/src/min.js');
            __webpack_require__.d(__webpack_exports__, 'min', function () {
                return _min__WEBPACK_IMPORTED_MODULE_15__['default'];
            });
            var _pairs__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__('./node_modules/d3-array/src/pairs.js');
            __webpack_require__.d(__webpack_exports__, 'pairs', function () {
                return _pairs__WEBPACK_IMPORTED_MODULE_16__['default'];
            });
            var _permute__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__('./node_modules/d3-array/src/permute.js');
            __webpack_require__.d(__webpack_exports__, 'permute', function () {
                return _permute__WEBPACK_IMPORTED_MODULE_17__['default'];
            });
            var _quantile__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__('./node_modules/d3-array/src/quantile.js');
            __webpack_require__.d(__webpack_exports__, 'quantile', function () {
                return _quantile__WEBPACK_IMPORTED_MODULE_18__['default'];
            });
            var _range__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__('./node_modules/d3-array/src/range.js');
            __webpack_require__.d(__webpack_exports__, 'range', function () {
                return _range__WEBPACK_IMPORTED_MODULE_19__['default'];
            });
            var _scan__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__('./node_modules/d3-array/src/scan.js');
            __webpack_require__.d(__webpack_exports__, 'scan', function () {
                return _scan__WEBPACK_IMPORTED_MODULE_20__['default'];
            });
            var _shuffle__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__('./node_modules/d3-array/src/shuffle.js');
            __webpack_require__.d(__webpack_exports__, 'shuffle', function () {
                return _shuffle__WEBPACK_IMPORTED_MODULE_21__['default'];
            });
            var _sum__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__('./node_modules/d3-array/src/sum.js');
            __webpack_require__.d(__webpack_exports__, 'sum', function () {
                return _sum__WEBPACK_IMPORTED_MODULE_22__['default'];
            });
            var _ticks__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__('./node_modules/d3-array/src/ticks.js');
            __webpack_require__.d(__webpack_exports__, 'ticks', function () {
                return _ticks__WEBPACK_IMPORTED_MODULE_23__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'tickIncrement', function () {
                return _ticks__WEBPACK_IMPORTED_MODULE_23__['tickIncrement'];
            });
            __webpack_require__.d(__webpack_exports__, 'tickStep', function () {
                return _ticks__WEBPACK_IMPORTED_MODULE_23__['tickStep'];
            });
            var _transpose__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__('./node_modules/d3-array/src/transpose.js');
            __webpack_require__.d(__webpack_exports__, 'transpose', function () {
                return _transpose__WEBPACK_IMPORTED_MODULE_24__['default'];
            });
            var _variance__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__('./node_modules/d3-array/src/variance.js');
            __webpack_require__.d(__webpack_exports__, 'variance', function () {
                return _variance__WEBPACK_IMPORTED_MODULE_25__['default'];
            });
            var _zip__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__('./node_modules/d3-array/src/zip.js');
            __webpack_require__.d(__webpack_exports__, 'zip', function () {
                return _zip__WEBPACK_IMPORTED_MODULE_26__['default'];
            });
        },
        './node_modules/d3-array/src/max.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (values, valueof) {
                var n = values.length, i = -1, value, max;
                if (valueof == null) {
                    while (++i < n) {
                        if ((value = values[i]) != null && value >= value) {
                            max = value;
                            while (++i < n) {
                                if ((value = values[i]) != null && value > max) {
                                    max = value;
                                }
                            }
                        }
                    }
                } else {
                    while (++i < n) {
                        if ((value = valueof(values[i], i, values)) != null && value >= value) {
                            max = value;
                            while (++i < n) {
                                if ((value = valueof(values[i], i, values)) != null && value > max) {
                                    max = value;
                                }
                            }
                        }
                    }
                }
                return max;
            };
        },
        './node_modules/d3-array/src/mean.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/number.js');
            __webpack_exports__['default'] = function (values, valueof) {
                var n = values.length, m = n, i = -1, value, sum = 0;
                if (valueof == null) {
                    while (++i < n) {
                        if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_0__['default'])(values[i])))
                            sum += value;
                        else
                            --m;
                    }
                } else {
                    while (++i < n) {
                        if (!isNaN(value = Object(_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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/ascending.js');
            var _number__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-array/src/number.js');
            var _quantile__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-array/src/quantile.js');
            __webpack_exports__['default'] = function (values, valueof) {
                var n = values.length, i = -1, value, numbers = [];
                if (valueof == null) {
                    while (++i < n) {
                        if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_1__['default'])(values[i]))) {
                            numbers.push(value);
                        }
                    }
                } else {
                    while (++i < n) {
                        if (!isNaN(value = Object(_number__WEBPACK_IMPORTED_MODULE_1__['default'])(valueof(values[i], i, values)))) {
                            numbers.push(value);
                        }
                    }
                }
                return Object(_quantile__WEBPACK_IMPORTED_MODULE_2__['default'])(numbers.sort(_ascending__WEBPACK_IMPORTED_MODULE_0__['default']), 0.5);
            };
        },
        './node_modules/d3-array/src/merge.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (values, valueof) {
                var n = values.length, i = -1, value, min;
                if (valueof == null) {
                    while (++i < n) {
                        if ((value = values[i]) != null && value >= value) {
                            min = value;
                            while (++i < n) {
                                if ((value = values[i]) != null && min > value) {
                                    min = value;
                                }
                            }
                        }
                    }
                } else {
                    while (++i < n) {
                        if ((value = valueof(values[i], i, values)) != null && value >= value) {
                            min = value;
                            while (++i < n) {
                                if ((value = valueof(values[i], i, values)) != null && min > value) {
                                    min = value;
                                }
                            }
                        }
                    }
                }
                return min;
            };
        },
        './node_modules/d3-array/src/number.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return x === null ? NaN : +x;
            };
        },
        './node_modules/d3-array/src/pairs.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'pair', function () {
                return pair;
            });
            __webpack_exports__['default'] = function (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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/number.js');
            __webpack_exports__['default'] = function (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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _ascending__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/ascending.js');
            __webpack_exports__['default'] = function (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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (values, valueof) {
                var n = values.length, i = -1, value, sum = 0;
                if (valueof == null) {
                    while (++i < n) {
                        if (value = +values[i])
                            sum += value;
                    }
                } else {
                    while (++i < n) {
                        if (value = +valueof(values[i], i, values))
                            sum += value;
                    }
                }
                return sum;
            };
        },
        './node_modules/d3-array/src/threshold/freedmanDiaconis.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/array.js');
            var _ascending__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-array/src/ascending.js');
            var _number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-array/src/number.js');
            var _quantile__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-array/src/quantile.js');
            __webpack_exports__['default'] = function (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 * (Object(_quantile__WEBPACK_IMPORTED_MODULE_3__['default'])(values, 0.75) - Object(_quantile__WEBPACK_IMPORTED_MODULE_3__['default'])(values, 0.25)) * Math.pow(values.length, -1 / 3)));
            };
        },
        './node_modules/d3-array/src/threshold/scott.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _deviation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/deviation.js');
            __webpack_exports__['default'] = function (values, min, max) {
                return Math.ceil((max - min) / (3.5 * Object(_deviation__WEBPACK_IMPORTED_MODULE_0__['default'])(values) * Math.pow(values.length, -1 / 3)));
            };
        },
        './node_modules/d3-array/src/threshold/sturges.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (values) {
                return Math.ceil(Math.log(values.length) / Math.LN2) + 1;
            };
        },
        './node_modules/d3-array/src/ticks.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'tickIncrement', function () {
                return tickIncrement;
            });
            __webpack_require__.d(__webpack_exports__, 'tickStep', function () {
                return tickStep;
            });
            var e10 = Math.sqrt(50), e5 = Math.sqrt(10), e2 = Math.sqrt(2);
            __webpack_exports__['default'] = function (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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _min__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/min.js');
            __webpack_exports__['default'] = function (matrix) {
                if (!(n = matrix.length))
                    return [];
                for (var i = -1, m = Object(_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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _number__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/number.js');
            __webpack_exports__['default'] = function (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 = Object(_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 = Object(_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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _transpose__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/transpose.js');
            __webpack_exports__['default'] = function () {
                return Object(_transpose__WEBPACK_IMPORTED_MODULE_0__['default'])(arguments);
            };
        },
        './node_modules/d3-axis/src/array.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'slice', function () {
                return slice;
            });
            var slice = Array.prototype.slice;
        },
        './node_modules/d3-axis/src/axis.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'axisTop', function () {
                return axisTop;
            });
            __webpack_require__.d(__webpack_exports__, 'axisRight', function () {
                return axisRight;
            });
            __webpack_require__.d(__webpack_exports__, 'axisBottom', function () {
                return axisBottom;
            });
            __webpack_require__.d(__webpack_exports__, 'axisLeft', function () {
                return axisLeft;
            });
            var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-axis/src/array.js');
            var _identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-axis/src/identity.js');
            var top = 1, right = 2, bottom = 3, left = 4, epsilon = 0.000001;
            function translateX(x) {
                return 'translate(' + (x + 0.5) + ',0)';
            }
            function translateY(y) {
                return 'translate(0,' + (y + 0.5) + ')';
            }
            function number(scale) {
                return function (d) {
                    return +scale(d);
                };
            }
            function center(scale) {
                var offset = Math.max(0, scale.bandwidth() - 1) / 2;
                if (scale.round())
                    offset = Math.round(offset);
                return function (d) {
                    return +scale(d) + offset;
                };
            }
            function entering() {
                return !this.__axis;
            }
            function axis(orient, scale) {
                var tickArguments = [], tickValues = null, tickFormat = null, tickSizeInner = 6, tickSizeOuter = 6, tickPadding = 3, k = orient === top || orient === left ? -1 : 1, x = orient === left || orient === right ? 'x' : 'y', transform = orient === top || orient === bottom ? translateX : translateY;
                function axis(context) {
                    var values = tickValues == null ? scale.ticks ? scale.ticks.apply(scale, tickArguments) : scale.domain() : tickValues, format = tickFormat == null ? scale.tickFormat ? scale.tickFormat.apply(scale, tickArguments) : _identity__WEBPACK_IMPORTED_MODULE_1__['default'] : tickFormat, spacing = Math.max(tickSizeInner, 0) + tickPadding, range = scale.range(), range0 = +range[0] + 0.5, range1 = +range[range.length - 1] + 0.5, position = (scale.bandwidth ? center : number)(scale.copy()), selection = context.selection ? context.selection() : context, path = selection.selectAll('.domain').data([null]), tick = selection.selectAll('.tick').data(values, scale).order(), tickExit = tick.exit(), tickEnter = tick.enter().append('g').attr('class', 'tick'), line = tick.select('line'), text = tick.select('text');
                    path = path.merge(path.enter().insert('path', '.tick').attr('class', 'domain').attr('stroke', 'currentColor'));
                    tick = tick.merge(tickEnter);
                    line = line.merge(tickEnter.append('line').attr('stroke', 'currentColor').attr(x + '2', k * tickSizeInner));
                    text = text.merge(tickEnter.append('text').attr('fill', 'currentColor').attr(x, k * spacing).attr('dy', orient === top ? '0em' : orient === bottom ? '0.71em' : '0.32em'));
                    if (context !== selection) {
                        path = path.transition(context);
                        tick = tick.transition(context);
                        line = line.transition(context);
                        text = text.transition(context);
                        tickExit = tickExit.transition(context).attr('opacity', epsilon).attr('transform', function (d) {
                            return isFinite(d = position(d)) ? transform(d) : this.getAttribute('transform');
                        });
                        tickEnter.attr('opacity', epsilon).attr('transform', function (d) {
                            var p = this.parentNode.__axis;
                            return transform(p && isFinite(p = p(d)) ? p : position(d));
                        });
                    }
                    tickExit.remove();
                    path.attr('d', orient === left || orient == right ? tickSizeOuter ? 'M' + k * tickSizeOuter + ',' + range0 + 'H0.5V' + range1 + 'H' + k * tickSizeOuter : 'M0.5,' + range0 + 'V' + range1 : tickSizeOuter ? 'M' + range0 + ',' + k * tickSizeOuter + 'V0.5H' + range1 + 'V' + k * tickSizeOuter : 'M' + range0 + ',0.5H' + range1);
                    tick.attr('opacity', 1).attr('transform', function (d) {
                        return transform(position(d));
                    });
                    line.attr(x + '2', k * tickSizeInner);
                    text.attr(x, k * spacing).text(format);
                    selection.filter(entering).attr('fill', 'none').attr('font-size', 10).attr('font-family', 'sans-serif').attr('text-anchor', orient === right ? 'start' : orient === left ? 'end' : 'middle');
                    selection.each(function () {
                        this.__axis = position;
                    });
                }
                axis.scale = function (_) {
                    return arguments.length ? (scale = _, axis) : scale;
                };
                axis.ticks = function () {
                    return tickArguments = _array__WEBPACK_IMPORTED_MODULE_0__['slice'].call(arguments), axis;
                };
                axis.tickArguments = function (_) {
                    return arguments.length ? (tickArguments = _ == null ? [] : _array__WEBPACK_IMPORTED_MODULE_0__['slice'].call(_), axis) : tickArguments.slice();
                };
                axis.tickValues = function (_) {
                    return arguments.length ? (tickValues = _ == null ? null : _array__WEBPACK_IMPORTED_MODULE_0__['slice'].call(_), axis) : tickValues && tickValues.slice();
                };
                axis.tickFormat = function (_) {
                    return arguments.length ? (tickFormat = _, axis) : tickFormat;
                };
                axis.tickSize = function (_) {
                    return arguments.length ? (tickSizeInner = tickSizeOuter = +_, axis) : tickSizeInner;
                };
                axis.tickSizeInner = function (_) {
                    return arguments.length ? (tickSizeInner = +_, axis) : tickSizeInner;
                };
                axis.tickSizeOuter = function (_) {
                    return arguments.length ? (tickSizeOuter = +_, axis) : tickSizeOuter;
                };
                axis.tickPadding = function (_) {
                    return arguments.length ? (tickPadding = +_, axis) : tickPadding;
                };
                return axis;
            }
            function axisTop(scale) {
                return axis(top, scale);
            }
            function axisRight(scale) {
                return axis(right, scale);
            }
            function axisBottom(scale) {
                return axis(bottom, scale);
            }
            function axisLeft(scale) {
                return axis(left, scale);
            }
        },
        './node_modules/d3-axis/src/identity.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return x;
            };
        },
        './node_modules/d3-axis/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _axis__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-axis/src/axis.js');
            __webpack_require__.d(__webpack_exports__, 'axisTop', function () {
                return _axis__WEBPACK_IMPORTED_MODULE_0__['axisTop'];
            });
            __webpack_require__.d(__webpack_exports__, 'axisRight', function () {
                return _axis__WEBPACK_IMPORTED_MODULE_0__['axisRight'];
            });
            __webpack_require__.d(__webpack_exports__, 'axisBottom', function () {
                return _axis__WEBPACK_IMPORTED_MODULE_0__['axisBottom'];
            });
            __webpack_require__.d(__webpack_exports__, 'axisLeft', function () {
                return _axis__WEBPACK_IMPORTED_MODULE_0__['axisLeft'];
            });
        },
        './node_modules/d3-brush/src/brush.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'brushSelection', function () {
                return brushSelection;
            });
            __webpack_require__.d(__webpack_exports__, 'brushX', function () {
                return brushX;
            });
            __webpack_require__.d(__webpack_exports__, 'brushY', function () {
                return brushY;
            });
            var d3_dispatch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-dispatch/src/index.js');
            var d3_drag__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-drag/src/index.js');
            var d3_interpolate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-interpolate/src/index.js');
            var d3_selection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            var d3_transition__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-transition/src/index.js');
            var _constant_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-brush/src/constant.js');
            var _event_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-brush/src/event.js');
            var _noevent_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-brush/src/noevent.js');
            var MODE_DRAG = { name: 'drag' }, MODE_SPACE = { name: 'space' }, MODE_HANDLE = { name: 'handle' }, MODE_CENTER = { name: 'center' };
            function number1(e) {
                return [
                    +e[0],
                    +e[1]
                ];
            }
            function number2(e) {
                return [
                    number1(e[0]),
                    number1(e[1])
                ];
            }
            function toucher(identifier) {
                return function (target) {
                    return Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['touch'])(target, d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].touches, identifier);
                };
            }
            var X = {
                name: 'x',
                handles: [
                    'w',
                    'e'
                ].map(type),
                input: function (x, e) {
                    return x == null ? null : [
                        [
                            +x[0],
                            e[0][1]
                        ],
                        [
                            +x[1],
                            e[1][1]
                        ]
                    ];
                },
                output: function (xy) {
                    return xy && [
                        xy[0][0],
                        xy[1][0]
                    ];
                }
            };
            var Y = {
                name: 'y',
                handles: [
                    'n',
                    's'
                ].map(type),
                input: function (y, e) {
                    return y == null ? null : [
                        [
                            e[0][0],
                            +y[0]
                        ],
                        [
                            e[1][0],
                            +y[1]
                        ]
                    ];
                },
                output: function (xy) {
                    return xy && [
                        xy[0][1],
                        xy[1][1]
                    ];
                }
            };
            var XY = {
                name: 'xy',
                handles: [
                    'n',
                    'w',
                    'e',
                    's',
                    'nw',
                    'ne',
                    'sw',
                    'se'
                ].map(type),
                input: function (xy) {
                    return xy == null ? null : number2(xy);
                },
                output: function (xy) {
                    return xy;
                }
            };
            var cursors = {
                overlay: 'crosshair',
                selection: 'move',
                n: 'ns-resize',
                e: 'ew-resize',
                s: 'ns-resize',
                w: 'ew-resize',
                nw: 'nwse-resize',
                ne: 'nesw-resize',
                se: 'nwse-resize',
                sw: 'nesw-resize'
            };
            var flipX = {
                e: 'w',
                w: 'e',
                nw: 'ne',
                ne: 'nw',
                se: 'sw',
                sw: 'se'
            };
            var flipY = {
                n: 's',
                s: 'n',
                nw: 'sw',
                ne: 'se',
                se: 'ne',
                sw: 'nw'
            };
            var signsX = {
                overlay: +1,
                selection: +1,
                n: null,
                e: +1,
                s: null,
                w: -1,
                nw: -1,
                ne: +1,
                se: +1,
                sw: -1
            };
            var signsY = {
                overlay: +1,
                selection: +1,
                n: -1,
                e: null,
                s: +1,
                w: null,
                nw: -1,
                ne: -1,
                se: +1,
                sw: +1
            };
            function type(t) {
                return { type: t };
            }
            function defaultFilter() {
                return !d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].ctrlKey && !d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].button;
            }
            function defaultExtent() {
                var svg = this.ownerSVGElement || this;
                if (svg.hasAttribute('viewBox')) {
                    svg = svg.viewBox.baseVal;
                    return [
                        [
                            svg.x,
                            svg.y
                        ],
                        [
                            svg.x + svg.width,
                            svg.y + svg.height
                        ]
                    ];
                }
                return [
                    [
                        0,
                        0
                    ],
                    [
                        svg.width.baseVal.value,
                        svg.height.baseVal.value
                    ]
                ];
            }
            function defaultTouchable() {
                return navigator.maxTouchPoints || 'ontouchstart' in this;
            }
            function local(node) {
                while (!node.__brush)
                    if (!(node = node.parentNode))
                        return;
                return node.__brush;
            }
            function empty(extent) {
                return extent[0][0] === extent[1][0] || extent[0][1] === extent[1][1];
            }
            function brushSelection(node) {
                var state = node.__brush;
                return state ? state.dim.output(state.selection) : null;
            }
            function brushX() {
                return brush(X);
            }
            function brushY() {
                return brush(Y);
            }
            __webpack_exports__['default'] = function () {
                return brush(XY);
            };
            function brush(dim) {
                var extent = defaultExtent, filter = defaultFilter, touchable = defaultTouchable, keys = true, listeners = Object(d3_dispatch__WEBPACK_IMPORTED_MODULE_0__['dispatch'])('start', 'brush', 'end'), handleSize = 6, touchending;
                function brush(group) {
                    var overlay = group.property('__brush', initialize).selectAll('.overlay').data([type('overlay')]);
                    overlay.enter().append('rect').attr('class', 'overlay').attr('pointer-events', 'all').attr('cursor', cursors.overlay).merge(overlay).each(function () {
                        var extent = local(this).extent;
                        Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['select'])(this).attr('x', extent[0][0]).attr('y', extent[0][1]).attr('width', extent[1][0] - extent[0][0]).attr('height', extent[1][1] - extent[0][1]);
                    });
                    group.selectAll('.selection').data([type('selection')]).enter().append('rect').attr('class', 'selection').attr('cursor', cursors.selection).attr('fill', '#777').attr('fill-opacity', 0.3).attr('stroke', '#fff').attr('shape-rendering', 'crispEdges');
                    var handle = group.selectAll('.handle').data(dim.handles, function (d) {
                        return d.type;
                    });
                    handle.exit().remove();
                    handle.enter().append('rect').attr('class', function (d) {
                        return 'handle handle--' + d.type;
                    }).attr('cursor', function (d) {
                        return cursors[d.type];
                    });
                    group.each(redraw).attr('fill', 'none').attr('pointer-events', 'all').on('mousedown.brush', started).filter(touchable).on('touchstart.brush', started).on('touchmove.brush', touchmoved).on('touchend.brush touchcancel.brush', touchended).style('touch-action', 'none').style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)');
                }
                brush.move = function (group, selection) {
                    if (group.selection) {
                        group.on('start.brush', function () {
                            emitter(this, arguments).beforestart().start();
                        }).on('interrupt.brush end.brush', function () {
                            emitter(this, arguments).end();
                        }).tween('brush', function () {
                            var that = this, state = that.__brush, emit = emitter(that, arguments), selection0 = state.selection, selection1 = dim.input(typeof selection === 'function' ? selection.apply(this, arguments) : selection, state.extent), i = Object(d3_interpolate__WEBPACK_IMPORTED_MODULE_2__['interpolate'])(selection0, selection1);
                            function tween(t) {
                                state.selection = t === 1 && selection1 === null ? null : i(t);
                                redraw.call(that);
                                emit.brush();
                            }
                            return selection0 !== null && selection1 !== null ? tween : tween(1);
                        });
                    } else {
                        group.each(function () {
                            var that = this, args = arguments, state = that.__brush, selection1 = dim.input(typeof selection === 'function' ? selection.apply(that, args) : selection, state.extent), emit = emitter(that, args).beforestart();
                            Object(d3_transition__WEBPACK_IMPORTED_MODULE_4__['interrupt'])(that);
                            state.selection = selection1 === null ? null : selection1;
                            redraw.call(that);
                            emit.start().brush().end();
                        });
                    }
                };
                brush.clear = function (group) {
                    brush.move(group, null);
                };
                function redraw() {
                    var group = Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['select'])(this), selection = local(this).selection;
                    if (selection) {
                        group.selectAll('.selection').style('display', null).attr('x', selection[0][0]).attr('y', selection[0][1]).attr('width', selection[1][0] - selection[0][0]).attr('height', selection[1][1] - selection[0][1]);
                        group.selectAll('.handle').style('display', null).attr('x', function (d) {
                            return d.type[d.type.length - 1] === 'e' ? selection[1][0] - handleSize / 2 : selection[0][0] - handleSize / 2;
                        }).attr('y', function (d) {
                            return d.type[0] === 's' ? selection[1][1] - handleSize / 2 : selection[0][1] - handleSize / 2;
                        }).attr('width', function (d) {
                            return d.type === 'n' || d.type === 's' ? selection[1][0] - selection[0][0] + handleSize : handleSize;
                        }).attr('height', function (d) {
                            return d.type === 'e' || d.type === 'w' ? selection[1][1] - selection[0][1] + handleSize : handleSize;
                        });
                    } else {
                        group.selectAll('.selection,.handle').style('display', 'none').attr('x', null).attr('y', null).attr('width', null).attr('height', null);
                    }
                }
                function emitter(that, args, clean) {
                    var emit = that.__brush.emitter;
                    return emit && (!clean || !emit.clean) ? emit : new Emitter(that, args, clean);
                }
                function Emitter(that, args, clean) {
                    this.that = that;
                    this.args = args;
                    this.state = that.__brush;
                    this.active = 0;
                    this.clean = clean;
                }
                Emitter.prototype = {
                    beforestart: function () {
                        if (++this.active === 1)
                            this.state.emitter = this, this.starting = true;
                        return this;
                    },
                    start: function () {
                        if (this.starting)
                            this.starting = false, this.emit('start');
                        else
                            this.emit('brush');
                        return this;
                    },
                    brush: function () {
                        this.emit('brush');
                        return this;
                    },
                    end: function () {
                        if (--this.active === 0)
                            delete this.state.emitter, this.emit('end');
                        return this;
                    },
                    emit: function (type) {
                        Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['customEvent'])(new _event_js__WEBPACK_IMPORTED_MODULE_6__['default'](brush, type, dim.output(this.state.selection)), listeners.apply, listeners, [
                            type,
                            this.that,
                            this.args
                        ]);
                    }
                };
                function started() {
                    if (touchending && !d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].touches)
                        return;
                    if (!filter.apply(this, arguments))
                        return;
                    var that = this, type = d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].target.__data__.type, mode = (keys && d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].metaKey ? type = 'overlay' : type) === 'selection' ? MODE_DRAG : keys && d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].altKey ? MODE_CENTER : MODE_HANDLE, signX = dim === Y ? null : signsX[type], signY = dim === X ? null : signsY[type], state = local(that), extent = state.extent, selection = state.selection, W = extent[0][0], w0, w1, N = extent[0][1], n0, n1, E = extent[1][0], e0, e1, S = extent[1][1], s0, s1, dx = 0, dy = 0, moving, shifting = signX && signY && keys && d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].shiftKey, lockX, lockY, pointer = d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].touches ? toucher(d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].changedTouches[0].identifier) : d3_selection__WEBPACK_IMPORTED_MODULE_3__['mouse'], point0 = pointer(that), point = point0, emit = emitter(that, arguments, true).beforestart();
                    if (type === 'overlay') {
                        if (selection)
                            moving = true;
                        state.selection = selection = [
                            [
                                w0 = dim === Y ? W : point0[0],
                                n0 = dim === X ? N : point0[1]
                            ],
                            [
                                e0 = dim === Y ? E : w0,
                                s0 = dim === X ? S : n0
                            ]
                        ];
                    } else {
                        w0 = selection[0][0];
                        n0 = selection[0][1];
                        e0 = selection[1][0];
                        s0 = selection[1][1];
                    }
                    w1 = w0;
                    n1 = n0;
                    e1 = e0;
                    s1 = s0;
                    var group = Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['select'])(that).attr('pointer-events', 'none');
                    var overlay = group.selectAll('.overlay').attr('cursor', cursors[type]);
                    if (d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].touches) {
                        emit.moved = moved;
                        emit.ended = ended;
                    } else {
                        var view = Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['select'])(d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].view).on('mousemove.brush', moved, true).on('mouseup.brush', ended, true);
                        if (keys)
                            view.on('keydown.brush', keydowned, true).on('keyup.brush', keyupped, true);
                        Object(d3_drag__WEBPACK_IMPORTED_MODULE_1__['dragDisable'])(d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].view);
                    }
                    Object(_noevent_js__WEBPACK_IMPORTED_MODULE_7__['nopropagation'])();
                    Object(d3_transition__WEBPACK_IMPORTED_MODULE_4__['interrupt'])(that);
                    redraw.call(that);
                    emit.start();
                    function moved() {
                        var point1 = pointer(that);
                        if (shifting && !lockX && !lockY) {
                            if (Math.abs(point1[0] - point[0]) > Math.abs(point1[1] - point[1]))
                                lockY = true;
                            else
                                lockX = true;
                        }
                        point = point1;
                        moving = true;
                        Object(_noevent_js__WEBPACK_IMPORTED_MODULE_7__['default'])();
                        move();
                    }
                    function move() {
                        var t;
                        dx = point[0] - point0[0];
                        dy = point[1] - point0[1];
                        switch (mode) {
                        case MODE_SPACE:
                        case MODE_DRAG: {
                                if (signX)
                                    dx = Math.max(W - w0, Math.min(E - e0, dx)), w1 = w0 + dx, e1 = e0 + dx;
                                if (signY)
                                    dy = Math.max(N - n0, Math.min(S - s0, dy)), n1 = n0 + dy, s1 = s0 + dy;
                                break;
                            }
                        case MODE_HANDLE: {
                                if (signX < 0)
                                    dx = Math.max(W - w0, Math.min(E - w0, dx)), w1 = w0 + dx, e1 = e0;
                                else if (signX > 0)
                                    dx = Math.max(W - e0, Math.min(E - e0, dx)), w1 = w0, e1 = e0 + dx;
                                if (signY < 0)
                                    dy = Math.max(N - n0, Math.min(S - n0, dy)), n1 = n0 + dy, s1 = s0;
                                else if (signY > 0)
                                    dy = Math.max(N - s0, Math.min(S - s0, dy)), n1 = n0, s1 = s0 + dy;
                                break;
                            }
                        case MODE_CENTER: {
                                if (signX)
                                    w1 = Math.max(W, Math.min(E, w0 - dx * signX)), e1 = Math.max(W, Math.min(E, e0 + dx * signX));
                                if (signY)
                                    n1 = Math.max(N, Math.min(S, n0 - dy * signY)), s1 = Math.max(N, Math.min(S, s0 + dy * signY));
                                break;
                            }
                        }
                        if (e1 < w1) {
                            signX *= -1;
                            t = w0, w0 = e0, e0 = t;
                            t = w1, w1 = e1, e1 = t;
                            if (type in flipX)
                                overlay.attr('cursor', cursors[type = flipX[type]]);
                        }
                        if (s1 < n1) {
                            signY *= -1;
                            t = n0, n0 = s0, s0 = t;
                            t = n1, n1 = s1, s1 = t;
                            if (type in flipY)
                                overlay.attr('cursor', cursors[type = flipY[type]]);
                        }
                        if (state.selection)
                            selection = state.selection;
                        if (lockX)
                            w1 = selection[0][0], e1 = selection[1][0];
                        if (lockY)
                            n1 = selection[0][1], s1 = selection[1][1];
                        if (selection[0][0] !== w1 || selection[0][1] !== n1 || selection[1][0] !== e1 || selection[1][1] !== s1) {
                            state.selection = [
                                [
                                    w1,
                                    n1
                                ],
                                [
                                    e1,
                                    s1
                                ]
                            ];
                            redraw.call(that);
                            emit.brush();
                        }
                    }
                    function ended() {
                        Object(_noevent_js__WEBPACK_IMPORTED_MODULE_7__['nopropagation'])();
                        if (d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].touches) {
                            if (d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].touches.length)
                                return;
                            if (touchending)
                                clearTimeout(touchending);
                            touchending = setTimeout(function () {
                                touchending = null;
                            }, 500);
                        } else {
                            Object(d3_drag__WEBPACK_IMPORTED_MODULE_1__['dragEnable'])(d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].view, moving);
                            view.on('keydown.brush keyup.brush mousemove.brush mouseup.brush', null);
                        }
                        group.attr('pointer-events', 'all');
                        overlay.attr('cursor', cursors.overlay);
                        if (state.selection)
                            selection = state.selection;
                        if (empty(selection))
                            state.selection = null, redraw.call(that);
                        emit.end();
                    }
                    function keydowned() {
                        switch (d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].keyCode) {
                        case 16: {
                                shifting = signX && signY;
                                break;
                            }
                        case 18: {
                                if (mode === MODE_HANDLE) {
                                    if (signX)
                                        e0 = e1 - dx * signX, w0 = w1 + dx * signX;
                                    if (signY)
                                        s0 = s1 - dy * signY, n0 = n1 + dy * signY;
                                    mode = MODE_CENTER;
                                    move();
                                }
                                break;
                            }
                        case 32: {
                                if (mode === MODE_HANDLE || mode === MODE_CENTER) {
                                    if (signX < 0)
                                        e0 = e1 - dx;
                                    else if (signX > 0)
                                        w0 = w1 - dx;
                                    if (signY < 0)
                                        s0 = s1 - dy;
                                    else if (signY > 0)
                                        n0 = n1 - dy;
                                    mode = MODE_SPACE;
                                    overlay.attr('cursor', cursors.selection);
                                    move();
                                }
                                break;
                            }
                        default:
                            return;
                        }
                        Object(_noevent_js__WEBPACK_IMPORTED_MODULE_7__['default'])();
                    }
                    function keyupped() {
                        switch (d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].keyCode) {
                        case 16: {
                                if (shifting) {
                                    lockX = lockY = shifting = false;
                                    move();
                                }
                                break;
                            }
                        case 18: {
                                if (mode === MODE_CENTER) {
                                    if (signX < 0)
                                        e0 = e1;
                                    else if (signX > 0)
                                        w0 = w1;
                                    if (signY < 0)
                                        s0 = s1;
                                    else if (signY > 0)
                                        n0 = n1;
                                    mode = MODE_HANDLE;
                                    move();
                                }
                                break;
                            }
                        case 32: {
                                if (mode === MODE_SPACE) {
                                    if (d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].altKey) {
                                        if (signX)
                                            e0 = e1 - dx * signX, w0 = w1 + dx * signX;
                                        if (signY)
                                            s0 = s1 - dy * signY, n0 = n1 + dy * signY;
                                        mode = MODE_CENTER;
                                    } else {
                                        if (signX < 0)
                                            e0 = e1;
                                        else if (signX > 0)
                                            w0 = w1;
                                        if (signY < 0)
                                            s0 = s1;
                                        else if (signY > 0)
                                            n0 = n1;
                                        mode = MODE_HANDLE;
                                    }
                                    overlay.attr('cursor', cursors[type]);
                                    move();
                                }
                                break;
                            }
                        default:
                            return;
                        }
                        Object(_noevent_js__WEBPACK_IMPORTED_MODULE_7__['default'])();
                    }
                }
                function touchmoved() {
                    emitter(this, arguments).moved();
                }
                function touchended() {
                    emitter(this, arguments).ended();
                }
                function initialize() {
                    var state = this.__brush || { selection: null };
                    state.extent = number2(extent.apply(this, arguments));
                    state.dim = dim;
                    return state;
                }
                brush.extent = function (_) {
                    return arguments.length ? (extent = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_5__['default'])(number2(_)), brush) : extent;
                };
                brush.filter = function (_) {
                    return arguments.length ? (filter = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_5__['default'])(!!_), brush) : filter;
                };
                brush.touchable = function (_) {
                    return arguments.length ? (touchable = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_5__['default'])(!!_), brush) : touchable;
                };
                brush.handleSize = function (_) {
                    return arguments.length ? (handleSize = +_, brush) : handleSize;
                };
                brush.keyModifiers = function (_) {
                    return arguments.length ? (keys = !!_, brush) : keys;
                };
                brush.on = function () {
                    var value = listeners.on.apply(listeners, arguments);
                    return value === listeners ? brush : value;
                };
                return brush;
            }
        },
        './node_modules/d3-brush/src/constant.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return function () {
                    return x;
                };
            };
        },
        './node_modules/d3-brush/src/event.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (target, type, selection) {
                this.target = target;
                this.type = type;
                this.selection = selection;
            };
        },
        './node_modules/d3-brush/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _brush_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-brush/src/brush.js');
            __webpack_require__.d(__webpack_exports__, 'brush', function () {
                return _brush_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'brushX', function () {
                return _brush_js__WEBPACK_IMPORTED_MODULE_0__['brushX'];
            });
            __webpack_require__.d(__webpack_exports__, 'brushY', function () {
                return _brush_js__WEBPACK_IMPORTED_MODULE_0__['brushY'];
            });
            __webpack_require__.d(__webpack_exports__, 'brushSelection', function () {
                return _brush_js__WEBPACK_IMPORTED_MODULE_0__['brushSelection'];
            });
        },
        './node_modules/d3-brush/src/noevent.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'nopropagation', function () {
                return nopropagation;
            });
            var d3_selection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            function nopropagation() {
                d3_selection__WEBPACK_IMPORTED_MODULE_0__['event'].stopImmediatePropagation();
            }
            __webpack_exports__['default'] = function () {
                d3_selection__WEBPACK_IMPORTED_MODULE_0__['event'].preventDefault();
                d3_selection__WEBPACK_IMPORTED_MODULE_0__['event'].stopImmediatePropagation();
            };
        },
        './node_modules/d3-chord/src/array.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'slice', function () {
                return slice;
            });
            var slice = Array.prototype.slice;
        },
        './node_modules/d3-chord/src/chord.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            var _math__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-chord/src/math.js');
            function compareValue(compare) {
                return function (a, b) {
                    return compare(a.source.value + a.target.value, b.source.value + b.target.value);
                };
            }
            __webpack_exports__['default'] = function () {
                var padAngle = 0, sortGroups = null, sortSubgroups = null, sortChords = null;
                function chord(matrix) {
                    var n = matrix.length, groupSums = [], groupIndex = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['range'])(n), subgroupIndex = [], chords = [], groups = chords.groups = new Array(n), subgroups = new Array(n * n), k, x, x0, dx, i, j;
                    k = 0, i = -1;
                    while (++i < n) {
                        x = 0, j = -1;
                        while (++j < n) {
                            x += matrix[i][j];
                        }
                        groupSums.push(x);
                        subgroupIndex.push(Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['range'])(n));
                        k += x;
                    }
                    if (sortGroups)
                        groupIndex.sort(function (a, b) {
                            return sortGroups(groupSums[a], groupSums[b]);
                        });
                    if (sortSubgroups)
                        subgroupIndex.forEach(function (d, i) {
                            d.sort(function (a, b) {
                                return sortSubgroups(matrix[i][a], matrix[i][b]);
                            });
                        });
                    k = Object(_math__WEBPACK_IMPORTED_MODULE_1__['max'])(0, _math__WEBPACK_IMPORTED_MODULE_1__['tau'] - padAngle * n) / k;
                    dx = k ? padAngle : _math__WEBPACK_IMPORTED_MODULE_1__['tau'] / n;
                    x = 0, i = -1;
                    while (++i < n) {
                        x0 = x, j = -1;
                        while (++j < n) {
                            var di = groupIndex[i], dj = subgroupIndex[di][j], v = matrix[di][dj], a0 = x, a1 = x += v * k;
                            subgroups[dj * n + di] = {
                                index: di,
                                subindex: dj,
                                startAngle: a0,
                                endAngle: a1,
                                value: v
                            };
                        }
                        groups[di] = {
                            index: di,
                            startAngle: x0,
                            endAngle: x,
                            value: groupSums[di]
                        };
                        x += dx;
                    }
                    i = -1;
                    while (++i < n) {
                        j = i - 1;
                        while (++j < n) {
                            var source = subgroups[j * n + i], target = subgroups[i * n + j];
                            if (source.value || target.value) {
                                chords.push(source.value < target.value ? {
                                    source: target,
                                    target: source
                                } : {
                                    source: source,
                                    target: target
                                });
                            }
                        }
                    }
                    return sortChords ? chords.sort(sortChords) : chords;
                }
                chord.padAngle = function (_) {
                    return arguments.length ? (padAngle = Object(_math__WEBPACK_IMPORTED_MODULE_1__['max'])(0, _), chord) : padAngle;
                };
                chord.sortGroups = function (_) {
                    return arguments.length ? (sortGroups = _, chord) : sortGroups;
                };
                chord.sortSubgroups = function (_) {
                    return arguments.length ? (sortSubgroups = _, chord) : sortSubgroups;
                };
                chord.sortChords = function (_) {
                    return arguments.length ? (_ == null ? sortChords = null : (sortChords = compareValue(_))._ = _, chord) : sortChords && sortChords._;
                };
                return chord;
            };
        },
        './node_modules/d3-chord/src/constant.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return function () {
                    return x;
                };
            };
        },
        './node_modules/d3-chord/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _chord__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-chord/src/chord.js');
            __webpack_require__.d(__webpack_exports__, 'chord', function () {
                return _chord__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _ribbon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-chord/src/ribbon.js');
            __webpack_require__.d(__webpack_exports__, 'ribbon', function () {
                return _ribbon__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
        },
        './node_modules/d3-chord/src/math.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'cos', function () {
                return cos;
            });
            __webpack_require__.d(__webpack_exports__, 'sin', function () {
                return sin;
            });
            __webpack_require__.d(__webpack_exports__, 'pi', function () {
                return pi;
            });
            __webpack_require__.d(__webpack_exports__, 'halfPi', function () {
                return halfPi;
            });
            __webpack_require__.d(__webpack_exports__, 'tau', function () {
                return tau;
            });
            __webpack_require__.d(__webpack_exports__, 'max', function () {
                return max;
            });
            var cos = Math.cos;
            var sin = Math.sin;
            var pi = Math.PI;
            var halfPi = pi / 2;
            var tau = pi * 2;
            var max = Math.max;
        },
        './node_modules/d3-chord/src/ribbon.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-chord/src/array.js');
            var _constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-chord/src/constant.js');
            var _math__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-chord/src/math.js');
            var d3_path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-path/src/index.js');
            function defaultSource(d) {
                return d.source;
            }
            function defaultTarget(d) {
                return d.target;
            }
            function defaultRadius(d) {
                return d.radius;
            }
            function defaultStartAngle(d) {
                return d.startAngle;
            }
            function defaultEndAngle(d) {
                return d.endAngle;
            }
            __webpack_exports__['default'] = function () {
                var source = defaultSource, target = defaultTarget, radius = defaultRadius, startAngle = defaultStartAngle, endAngle = defaultEndAngle, context = null;
                function ribbon() {
                    var buffer, argv = _array__WEBPACK_IMPORTED_MODULE_0__['slice'].call(arguments), s = source.apply(this, argv), t = target.apply(this, argv), sr = +radius.apply(this, (argv[0] = s, argv)), sa0 = startAngle.apply(this, argv) - _math__WEBPACK_IMPORTED_MODULE_2__['halfPi'], sa1 = endAngle.apply(this, argv) - _math__WEBPACK_IMPORTED_MODULE_2__['halfPi'], sx0 = sr * Object(_math__WEBPACK_IMPORTED_MODULE_2__['cos'])(sa0), sy0 = sr * Object(_math__WEBPACK_IMPORTED_MODULE_2__['sin'])(sa0), tr = +radius.apply(this, (argv[0] = t, argv)), ta0 = startAngle.apply(this, argv) - _math__WEBPACK_IMPORTED_MODULE_2__['halfPi'], ta1 = endAngle.apply(this, argv) - _math__WEBPACK_IMPORTED_MODULE_2__['halfPi'];
                    if (!context)
                        context = buffer = Object(d3_path__WEBPACK_IMPORTED_MODULE_3__['path'])();
                    context.moveTo(sx0, sy0);
                    context.arc(0, 0, sr, sa0, sa1);
                    if (sa0 !== ta0 || sa1 !== ta1) {
                        context.quadraticCurveTo(0, 0, tr * Object(_math__WEBPACK_IMPORTED_MODULE_2__['cos'])(ta0), tr * Object(_math__WEBPACK_IMPORTED_MODULE_2__['sin'])(ta0));
                        context.arc(0, 0, tr, ta0, ta1);
                    }
                    context.quadraticCurveTo(0, 0, sx0, sy0);
                    context.closePath();
                    if (buffer)
                        return context = null, buffer + '' || null;
                }
                ribbon.radius = function (_) {
                    return arguments.length ? (radius = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), ribbon) : radius;
                };
                ribbon.startAngle = function (_) {
                    return arguments.length ? (startAngle = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), ribbon) : startAngle;
                };
                ribbon.endAngle = function (_) {
                    return arguments.length ? (endAngle = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), ribbon) : endAngle;
                };
                ribbon.source = function (_) {
                    return arguments.length ? (source = _, ribbon) : source;
                };
                ribbon.target = function (_) {
                    return arguments.length ? (target = _, ribbon) : target;
                };
                ribbon.context = function (_) {
                    return arguments.length ? (context = _ == null ? null : _, ribbon) : context;
                };
                return ribbon;
            };
        },
        './node_modules/d3-collection/src/entries.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (map) {
                var entries = [];
                for (var key in map)
                    entries.push({
                        key: key,
                        value: map[key]
                    });
                return entries;
            };
        },
        './node_modules/d3-collection/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _nest__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-collection/src/nest.js');
            __webpack_require__.d(__webpack_exports__, 'nest', function () {
                return _nest__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _set__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-collection/src/set.js');
            __webpack_require__.d(__webpack_exports__, 'set', function () {
                return _set__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _map__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-collection/src/map.js');
            __webpack_require__.d(__webpack_exports__, 'map', function () {
                return _map__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            var _keys__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-collection/src/keys.js');
            __webpack_require__.d(__webpack_exports__, 'keys', function () {
                return _keys__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
            var _values__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-collection/src/values.js');
            __webpack_require__.d(__webpack_exports__, 'values', function () {
                return _values__WEBPACK_IMPORTED_MODULE_4__['default'];
            });
            var _entries__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-collection/src/entries.js');
            __webpack_require__.d(__webpack_exports__, 'entries', function () {
                return _entries__WEBPACK_IMPORTED_MODULE_5__['default'];
            });
        },
        './node_modules/d3-collection/src/keys.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (map) {
                var keys = [];
                for (var key in map)
                    keys.push(key);
                return keys;
            };
        },
        './node_modules/d3-collection/src/map.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'prefix', function () {
                return prefix;
            });
            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();
                if (object instanceof Map)
                    object.each(function (value, key) {
                        map.set(key, value);
                    });
                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);
                } else if (object)
                    for (var key in object)
                        map.set(key, object[key]);
                return map;
            }
            __webpack_exports__['default'] = map;
        },
        './node_modules/d3-collection/src/nest.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-collection/src/map.js');
            __webpack_exports__['default'] = function () {
                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 = Object(_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 Object(_map__WEBPACK_IMPORTED_MODULE_0__['default'])();
            }
            function setMap(map, key, value) {
                map.set(key, value);
            }
        },
        './node_modules/d3-collection/src/set.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _map__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./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();
                if (object instanceof Set)
                    object.each(function (value) {
                        set.add(value);
                    });
                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;
            }
            __webpack_exports__['default'] = set;
        },
        './node_modules/d3-collection/src/values.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (map) {
                var values = [];
                for (var key in map)
                    values.push(map[key]);
                return values;
            };
        },
        './node_modules/d3-color/src/color.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'Color', function () {
                return Color;
            });
            __webpack_require__.d(__webpack_exports__, 'darker', function () {
                return darker;
            });
            __webpack_require__.d(__webpack_exports__, 'brighter', function () {
                return brighter;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return color;
            });
            __webpack_require__.d(__webpack_exports__, 'rgbConvert', function () {
                return rgbConvert;
            });
            __webpack_require__.d(__webpack_exports__, 'rgb', function () {
                return rgb;
            });
            __webpack_require__.d(__webpack_exports__, 'Rgb', function () {
                return Rgb;
            });
            __webpack_require__.d(__webpack_exports__, 'hslConvert', function () {
                return hslConvert;
            });
            __webpack_require__.d(__webpack_exports__, 'hsl', function () {
                return hsl;
            });
            var _define_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./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: 15792383,
                antiquewhite: 16444375,
                aqua: 65535,
                aquamarine: 8388564,
                azure: 15794175,
                beige: 16119260,
                bisque: 16770244,
                black: 0,
                blanchedalmond: 16772045,
                blue: 255,
                blueviolet: 9055202,
                brown: 10824234,
                burlywood: 14596231,
                cadetblue: 6266528,
                chartreuse: 8388352,
                chocolate: 13789470,
                coral: 16744272,
                cornflowerblue: 6591981,
                cornsilk: 16775388,
                crimson: 14423100,
                cyan: 65535,
                darkblue: 139,
                darkcyan: 35723,
                darkgoldenrod: 12092939,
                darkgray: 11119017,
                darkgreen: 25600,
                darkgrey: 11119017,
                darkkhaki: 12433259,
                darkmagenta: 9109643,
                darkolivegreen: 5597999,
                darkorange: 16747520,
                darkorchid: 10040012,
                darkred: 9109504,
                darksalmon: 15308410,
                darkseagreen: 9419919,
                darkslateblue: 4734347,
                darkslategray: 3100495,
                darkslategrey: 3100495,
                darkturquoise: 52945,
                darkviolet: 9699539,
                deeppink: 16716947,
                deepskyblue: 49151,
                dimgray: 6908265,
                dimgrey: 6908265,
                dodgerblue: 2003199,
                firebrick: 11674146,
                floralwhite: 16775920,
                forestgreen: 2263842,
                fuchsia: 16711935,
                gainsboro: 14474460,
                ghostwhite: 16316671,
                gold: 16766720,
                goldenrod: 14329120,
                gray: 8421504,
                green: 32768,
                greenyellow: 11403055,
                grey: 8421504,
                honeydew: 15794160,
                hotpink: 16738740,
                indianred: 13458524,
                indigo: 4915330,
                ivory: 16777200,
                khaki: 15787660,
                lavender: 15132410,
                lavenderblush: 16773365,
                lawngreen: 8190976,
                lemonchiffon: 16775885,
                lightblue: 11393254,
                lightcoral: 15761536,
                lightcyan: 14745599,
                lightgoldenrodyellow: 16448210,
                lightgray: 13882323,
                lightgreen: 9498256,
                lightgrey: 13882323,
                lightpink: 16758465,
                lightsalmon: 16752762,
                lightseagreen: 2142890,
                lightskyblue: 8900346,
                lightslategray: 7833753,
                lightslategrey: 7833753,
                lightsteelblue: 11584734,
                lightyellow: 16777184,
                lime: 65280,
                limegreen: 3329330,
                linen: 16445670,
                magenta: 16711935,
                maroon: 8388608,
                mediumaquamarine: 6737322,
                mediumblue: 205,
                mediumorchid: 12211667,
                mediumpurple: 9662683,
                mediumseagreen: 3978097,
                mediumslateblue: 8087790,
                mediumspringgreen: 64154,
                mediumturquoise: 4772300,
                mediumvioletred: 13047173,
                midnightblue: 1644912,
                mintcream: 16121850,
                mistyrose: 16770273,
                moccasin: 16770229,
                navajowhite: 16768685,
                navy: 128,
                oldlace: 16643558,
                olive: 8421376,
                olivedrab: 7048739,
                orange: 16753920,
                orangered: 16729344,
                orchid: 14315734,
                palegoldenrod: 15657130,
                palegreen: 10025880,
                paleturquoise: 11529966,
                palevioletred: 14381203,
                papayawhip: 16773077,
                peachpuff: 16767673,
                peru: 13468991,
                pink: 16761035,
                plum: 14524637,
                powderblue: 11591910,
                purple: 8388736,
                rebeccapurple: 6697881,
                red: 16711680,
                rosybrown: 12357519,
                royalblue: 4286945,
                saddlebrown: 9127187,
                salmon: 16416882,
                sandybrown: 16032864,
                seagreen: 3050327,
                seashell: 16774638,
                sienna: 10506797,
                silver: 12632256,
                skyblue: 8900331,
                slateblue: 6970061,
                slategray: 7372944,
                slategrey: 7372944,
                snow: 16775930,
                springgreen: 65407,
                steelblue: 4620980,
                tan: 13808780,
                teal: 32896,
                thistle: 14204888,
                tomato: 16737095,
                turquoise: 4251856,
                violet: 15631086,
                wheat: 16113331,
                white: 16777215,
                whitesmoke: 16119285,
                yellow: 16776960,
                yellowgreen: 10145074
            };
            Object(_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,
                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) : l === 3 ? new Rgb(m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, (m & 15) << 4 | m & 15, 1) : l === 8 ? rgba(m >> 24 & 255, m >> 16 & 255, m >> 8 & 255, (m & 255) / 255) : l === 4 ? rgba(m >> 12 & 15 | m >> 8 & 240, m >> 8 & 15 | m >> 4 & 240, m >> 4 & 15 | m & 240, ((m & 15) << 4 | m & 15) / 255) : null) : (m = reRgbInteger.exec(format)) ? new Rgb(m[1], m[2], m[3], 1) : (m = reRgbPercent.exec(format)) ? new Rgb(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, 1) : (m = reRgbaInteger.exec(format)) ? rgba(m[1], m[2], m[3], m[4]) : (m = reRgbaPercent.exec(format)) ? rgba(m[1] * 255 / 100, m[2] * 255 / 100, m[3] * 255 / 100, m[4]) : (m = reHslPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, 1) : (m = reHslaPercent.exec(format)) ? hsla(m[1], m[2] / 100, m[3] / 100, m[4]) : named.hasOwnProperty(format) ? rgbn(named[format]) : format === 'transparent' ? new Rgb(NaN, NaN, NaN, 0) : null;
            }
            function rgbn(n) {
                return new Rgb(n >> 16 & 255, n >> 8 & 255, n & 255, 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;
            }
            Object(_define_js__WEBPACK_IMPORTED_MODULE_0__['default'])(Rgb, rgb, Object(_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,
                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;
            }
            Object(_define_js__WEBPACK_IMPORTED_MODULE_0__['default'])(Hsl, hsl, Object(_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 + ')');
                }
            }));
            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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return cubehelix;
            });
            __webpack_require__.d(__webpack_exports__, 'Cubehelix', function () {
                return Cubehelix;
            });
            var _define_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-color/src/define.js');
            var _color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-color/src/color.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./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_1__['Rgb']))
                    o = Object(_color_js__WEBPACK_IMPORTED_MODULE_1__['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)), h = s ? Math.atan2(k, bl) * _math_js__WEBPACK_IMPORTED_MODULE_2__['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;
            }
            Object(_define_js__WEBPACK_IMPORTED_MODULE_0__['default'])(Cubehelix, cubehelix, Object(_define_js__WEBPACK_IMPORTED_MODULE_0__['extend'])(_color_js__WEBPACK_IMPORTED_MODULE_1__['Color'], {
                brighter: function (k) {
                    k = k == null ? _color_js__WEBPACK_IMPORTED_MODULE_1__['brighter'] : Math.pow(_color_js__WEBPACK_IMPORTED_MODULE_1__['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_1__['darker'] : Math.pow(_color_js__WEBPACK_IMPORTED_MODULE_1__['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_2__['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_1__['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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'extend', function () {
                return extend;
            });
            __webpack_exports__['default'] = function (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/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _color_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-color/src/color.js');
            __webpack_require__.d(__webpack_exports__, 'color', function () {
                return _color_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'rgb', function () {
                return _color_js__WEBPACK_IMPORTED_MODULE_0__['rgb'];
            });
            __webpack_require__.d(__webpack_exports__, 'hsl', function () {
                return _color_js__WEBPACK_IMPORTED_MODULE_0__['hsl'];
            });
            var _lab_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-color/src/lab.js');
            __webpack_require__.d(__webpack_exports__, 'lab', function () {
                return _lab_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'hcl', function () {
                return _lab_js__WEBPACK_IMPORTED_MODULE_1__['hcl'];
            });
            __webpack_require__.d(__webpack_exports__, 'lch', function () {
                return _lab_js__WEBPACK_IMPORTED_MODULE_1__['lch'];
            });
            __webpack_require__.d(__webpack_exports__, 'gray', function () {
                return _lab_js__WEBPACK_IMPORTED_MODULE_1__['gray'];
            });
            var _cubehelix_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-color/src/cubehelix.js');
            __webpack_require__.d(__webpack_exports__, 'cubehelix', function () {
                return _cubehelix_js__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
        },
        './node_modules/d3-color/src/lab.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'gray', function () {
                return gray;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return lab;
            });
            __webpack_require__.d(__webpack_exports__, 'Lab', function () {
                return Lab;
            });
            __webpack_require__.d(__webpack_exports__, 'lch', function () {
                return lch;
            });
            __webpack_require__.d(__webpack_exports__, 'hcl', function () {
                return hcl;
            });
            __webpack_require__.d(__webpack_exports__, 'Hcl', function () {
                return Hcl;
            });
            var _define_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-color/src/define.js');
            var _color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-color/src/color.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-color/src/math.js');
            var K = 18, Xn = 0.96422, Yn = 1, Zn = 0.82521, t0 = 4 / 29, t1 = 6 / 29, t2 = 3 * t1 * t1, t3 = t1 * t1 * t1;
            function labConvert(o) {
                if (o instanceof Lab)
                    return new Lab(o.l, o.a, o.b, o.opacity);
                if (o instanceof Hcl)
                    return hcl2lab(o);
                if (!(o instanceof _color_js__WEBPACK_IMPORTED_MODULE_1__['Rgb']))
                    o = Object(_color_js__WEBPACK_IMPORTED_MODULE_1__['rgbConvert'])(o);
                var r = rgb2lrgb(o.r), g = rgb2lrgb(o.g), b = rgb2lrgb(o.b), y = xyz2lab((0.2225045 * r + 0.7168786 * g + 0.0606169 * b) / Yn), x, z;
                if (r === g && g === b)
                    x = z = y;
                else {
                    x = xyz2lab((0.4360747 * r + 0.3850649 * g + 0.1430804 * b) / Xn);
                    z = xyz2lab((0.0139322 * r + 0.0971045 * g + 0.7141733 * b) / Zn);
                }
                return new Lab(116 * y - 16, 500 * (x - y), 200 * (y - z), o.opacity);
            }
            function gray(l, opacity) {
                return new Lab(l, 0, 0, opacity == null ? 1 : opacity);
            }
            function lab(l, a, b, opacity) {
                return arguments.length === 1 ? labConvert(l) : new Lab(l, a, b, opacity == null ? 1 : opacity);
            }
            function Lab(l, a, b, opacity) {
                this.l = +l;
                this.a = +a;
                this.b = +b;
                this.opacity = +opacity;
            }
            Object(_define_js__WEBPACK_IMPORTED_MODULE_0__['default'])(Lab, lab, Object(_define_js__WEBPACK_IMPORTED_MODULE_0__['extend'])(_color_js__WEBPACK_IMPORTED_MODULE_1__['Color'], {
                brighter: function (k) {
                    return new Lab(this.l + K * (k == null ? 1 : k), this.a, this.b, this.opacity);
                },
                darker: function (k) {
                    return new Lab(this.l - K * (k == null ? 1 : k), this.a, this.b, this.opacity);
                },
                rgb: function () {
                    var y = (this.l + 16) / 116, x = isNaN(this.a) ? y : y + this.a / 500, z = isNaN(this.b) ? y : y - this.b / 200;
                    x = Xn * lab2xyz(x);
                    y = Yn * lab2xyz(y);
                    z = Zn * lab2xyz(z);
                    return new _color_js__WEBPACK_IMPORTED_MODULE_1__['Rgb'](lrgb2rgb(3.1338561 * x - 1.6168667 * y - 0.4906146 * z), lrgb2rgb(-0.9787684 * x + 1.9161415 * y + 0.033454 * z), lrgb2rgb(0.0719453 * x - 0.2289914 * y + 1.4052427 * z), this.opacity);
                }
            }));
            function xyz2lab(t) {
                return t > t3 ? Math.pow(t, 1 / 3) : t / t2 + t0;
            }
            function lab2xyz(t) {
                return t > t1 ? t * t * t : t2 * (t - t0);
            }
            function lrgb2rgb(x) {
                return 255 * (x <= 0.0031308 ? 12.92 * x : 1.055 * Math.pow(x, 1 / 2.4) - 0.055);
            }
            function rgb2lrgb(x) {
                return (x /= 255) <= 0.04045 ? x / 12.92 : Math.pow((x + 0.055) / 1.055, 2.4);
            }
            function hclConvert(o) {
                if (o instanceof Hcl)
                    return new Hcl(o.h, o.c, o.l, o.opacity);
                if (!(o instanceof Lab))
                    o = labConvert(o);
                if (o.a === 0 && o.b === 0)
                    return new Hcl(NaN, 0 < o.l && o.l < 100 ? 0 : NaN, o.l, o.opacity);
                var h = Math.atan2(o.b, o.a) * _math_js__WEBPACK_IMPORTED_MODULE_2__['rad2deg'];
                return new Hcl(h < 0 ? h + 360 : h, Math.sqrt(o.a * o.a + o.b * o.b), o.l, o.opacity);
            }
            function lch(l, c, h, opacity) {
                return arguments.length === 1 ? hclConvert(l) : new Hcl(h, c, l, opacity == null ? 1 : opacity);
            }
            function hcl(h, c, l, opacity) {
                return arguments.length === 1 ? hclConvert(h) : new Hcl(h, c, l, opacity == null ? 1 : opacity);
            }
            function Hcl(h, c, l, opacity) {
                this.h = +h;
                this.c = +c;
                this.l = +l;
                this.opacity = +opacity;
            }
            function hcl2lab(o) {
                if (isNaN(o.h))
                    return new Lab(o.l, 0, 0, o.opacity);
                var h = o.h * _math_js__WEBPACK_IMPORTED_MODULE_2__['deg2rad'];
                return new Lab(o.l, Math.cos(h) * o.c, Math.sin(h) * o.c, o.opacity);
            }
            Object(_define_js__WEBPACK_IMPORTED_MODULE_0__['default'])(Hcl, hcl, Object(_define_js__WEBPACK_IMPORTED_MODULE_0__['extend'])(_color_js__WEBPACK_IMPORTED_MODULE_1__['Color'], {
                brighter: function (k) {
                    return new Hcl(this.h, this.c, this.l + K * (k == null ? 1 : k), this.opacity);
                },
                darker: function (k) {
                    return new Hcl(this.h, this.c, this.l - K * (k == null ? 1 : k), this.opacity);
                },
                rgb: function () {
                    return hcl2lab(this).rgb();
                }
            }));
        },
        './node_modules/d3-color/src/math.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'deg2rad', function () {
                return deg2rad;
            });
            __webpack_require__.d(__webpack_exports__, 'rad2deg', function () {
                return rad2deg;
            });
            var deg2rad = Math.PI / 180;
            var rad2deg = 180 / Math.PI;
        },
        './node_modules/d3-contour/src/area.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (ring) {
                var i = 0, n = ring.length, area = ring[n - 1][1] * ring[0][0] - ring[n - 1][0] * ring[0][1];
                while (++i < n)
                    area += ring[i - 1][1] * ring[i][0] - ring[i - 1][0] * ring[i][1];
                return area;
            };
        },
        './node_modules/d3-contour/src/array.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'slice', function () {
                return slice;
            });
            var array = Array.prototype;
            var slice = array.slice;
        },
        './node_modules/d3-contour/src/ascending.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (a, b) {
                return a - b;
            };
        },
        './node_modules/d3-contour/src/blur.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'blurX', function () {
                return blurX;
            });
            __webpack_require__.d(__webpack_exports__, 'blurY', function () {
                return blurY;
            });
            function blurX(source, target, r) {
                var n = source.width, m = source.height, w = (r << 1) + 1;
                for (var j = 0; j < m; ++j) {
                    for (var i = 0, sr = 0; i < n + r; ++i) {
                        if (i < n) {
                            sr += source.data[i + j * n];
                        }
                        if (i >= r) {
                            if (i >= w) {
                                sr -= source.data[i - w + j * n];
                            }
                            target.data[i - r + j * n] = sr / Math.min(i + 1, n - 1 + w - i, w);
                        }
                    }
                }
            }
            function blurY(source, target, r) {
                var n = source.width, m = source.height, w = (r << 1) + 1;
                for (var i = 0; i < n; ++i) {
                    for (var j = 0, sr = 0; j < m + r; ++j) {
                        if (j < m) {
                            sr += source.data[i + j * n];
                        }
                        if (j >= r) {
                            if (j >= w) {
                                sr -= source.data[i + (j - w) * n];
                            }
                            target.data[i + (j - r) * n] = sr / Math.min(j + 1, m - 1 + w - j, w);
                        }
                    }
                }
            }
        },
        './node_modules/d3-contour/src/constant.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return function () {
                    return x;
                };
            };
        },
        './node_modules/d3-contour/src/contains.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (ring, hole) {
                var i = -1, n = hole.length, c;
                while (++i < n)
                    if (c = ringContains(ring, hole[i]))
                        return c;
                return 0;
            };
            function ringContains(ring, point) {
                var x = point[0], y = point[1], contains = -1;
                for (var i = 0, n = ring.length, j = n - 1; i < n; j = i++) {
                    var pi = ring[i], xi = pi[0], yi = pi[1], pj = ring[j], xj = pj[0], yj = pj[1];
                    if (segmentContains(pi, pj, point))
                        return 0;
                    if (yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi)
                        contains = -contains;
                }
                return contains;
            }
            function segmentContains(a, b, c) {
                var i;
                return collinear(a, b, c) && within(a[i = +(a[0] === b[0])], c[i], b[i]);
            }
            function collinear(a, b, c) {
                return (b[0] - a[0]) * (c[1] - a[1]) === (c[0] - a[0]) * (b[1] - a[1]);
            }
            function within(p, q, r) {
                return p <= q && q <= r || r <= q && q <= p;
            }
        },
        './node_modules/d3-contour/src/contours.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-contour/src/array.js');
            var _ascending__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-contour/src/ascending.js');
            var _area__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-contour/src/area.js');
            var _constant__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-contour/src/constant.js');
            var _contains__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-contour/src/contains.js');
            var _noop__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-contour/src/noop.js');
            var cases = [
                [],
                [[
                        [
                            1,
                            1.5
                        ],
                        [
                            0.5,
                            1
                        ]
                    ]],
                [[
                        [
                            1.5,
                            1
                        ],
                        [
                            1,
                            1.5
                        ]
                    ]],
                [[
                        [
                            1.5,
                            1
                        ],
                        [
                            0.5,
                            1
                        ]
                    ]],
                [[
                        [
                            1,
                            0.5
                        ],
                        [
                            1.5,
                            1
                        ]
                    ]],
                [
                    [
                        [
                            1,
                            1.5
                        ],
                        [
                            0.5,
                            1
                        ]
                    ],
                    [
                        [
                            1,
                            0.5
                        ],
                        [
                            1.5,
                            1
                        ]
                    ]
                ],
                [[
                        [
                            1,
                            0.5
                        ],
                        [
                            1,
                            1.5
                        ]
                    ]],
                [[
                        [
                            1,
                            0.5
                        ],
                        [
                            0.5,
                            1
                        ]
                    ]],
                [[
                        [
                            0.5,
                            1
                        ],
                        [
                            1,
                            0.5
                        ]
                    ]],
                [[
                        [
                            1,
                            1.5
                        ],
                        [
                            1,
                            0.5
                        ]
                    ]],
                [
                    [
                        [
                            0.5,
                            1
                        ],
                        [
                            1,
                            0.5
                        ]
                    ],
                    [
                        [
                            1.5,
                            1
                        ],
                        [
                            1,
                            1.5
                        ]
                    ]
                ],
                [[
                        [
                            1.5,
                            1
                        ],
                        [
                            1,
                            0.5
                        ]
                    ]],
                [[
                        [
                            0.5,
                            1
                        ],
                        [
                            1.5,
                            1
                        ]
                    ]],
                [[
                        [
                            1,
                            1.5
                        ],
                        [
                            1.5,
                            1
                        ]
                    ]],
                [[
                        [
                            0.5,
                            1
                        ],
                        [
                            1,
                            1.5
                        ]
                    ]],
                []
            ];
            __webpack_exports__['default'] = function () {
                var dx = 1, dy = 1, threshold = d3_array__WEBPACK_IMPORTED_MODULE_0__['thresholdSturges'], smooth = smoothLinear;
                function contours(values) {
                    var tz = threshold(values);
                    if (!Array.isArray(tz)) {
                        var domain = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['extent'])(values), start = domain[0], stop = domain[1];
                        tz = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['tickStep'])(start, stop, tz);
                        tz = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['range'])(Math.floor(start / tz) * tz, Math.floor(stop / tz) * tz, tz);
                    } else {
                        tz = tz.slice().sort(_ascending__WEBPACK_IMPORTED_MODULE_2__['default']);
                    }
                    return tz.map(function (value) {
                        return contour(values, value);
                    });
                }
                function contour(values, value) {
                    var polygons = [], holes = [];
                    isorings(values, value, function (ring) {
                        smooth(ring, values, value);
                        if (Object(_area__WEBPACK_IMPORTED_MODULE_3__['default'])(ring) > 0)
                            polygons.push([ring]);
                        else
                            holes.push(ring);
                    });
                    holes.forEach(function (hole) {
                        for (var i = 0, n = polygons.length, polygon; i < n; ++i) {
                            if (Object(_contains__WEBPACK_IMPORTED_MODULE_5__['default'])((polygon = polygons[i])[0], hole) !== -1) {
                                polygon.push(hole);
                                return;
                            }
                        }
                    });
                    return {
                        type: 'MultiPolygon',
                        value: value,
                        coordinates: polygons
                    };
                }
                function isorings(values, value, callback) {
                    var fragmentByStart = new Array(), fragmentByEnd = new Array(), x, y, t0, t1, t2, t3;
                    x = y = -1;
                    t1 = values[0] >= value;
                    cases[t1 << 1].forEach(stitch);
                    while (++x < dx - 1) {
                        t0 = t1, t1 = values[x + 1] >= value;
                        cases[t0 | t1 << 1].forEach(stitch);
                    }
                    cases[t1 << 0].forEach(stitch);
                    while (++y < dy - 1) {
                        x = -1;
                        t1 = values[y * dx + dx] >= value;
                        t2 = values[y * dx] >= value;
                        cases[t1 << 1 | t2 << 2].forEach(stitch);
                        while (++x < dx - 1) {
                            t0 = t1, t1 = values[y * dx + dx + x + 1] >= value;
                            t3 = t2, t2 = values[y * dx + x + 1] >= value;
                            cases[t0 | t1 << 1 | t2 << 2 | t3 << 3].forEach(stitch);
                        }
                        cases[t1 | t2 << 3].forEach(stitch);
                    }
                    x = -1;
                    t2 = values[y * dx] >= value;
                    cases[t2 << 2].forEach(stitch);
                    while (++x < dx - 1) {
                        t3 = t2, t2 = values[y * dx + x + 1] >= value;
                        cases[t2 << 2 | t3 << 3].forEach(stitch);
                    }
                    cases[t2 << 3].forEach(stitch);
                    function stitch(line) {
                        var start = [
                                line[0][0] + x,
                                line[0][1] + y
                            ], end = [
                                line[1][0] + x,
                                line[1][1] + y
                            ], startIndex = index(start), endIndex = index(end), f, g;
                        if (f = fragmentByEnd[startIndex]) {
                            if (g = fragmentByStart[endIndex]) {
                                delete fragmentByEnd[f.end];
                                delete fragmentByStart[g.start];
                                if (f === g) {
                                    f.ring.push(end);
                                    callback(f.ring);
                                } else {
                                    fragmentByStart[f.start] = fragmentByEnd[g.end] = {
                                        start: f.start,
                                        end: g.end,
                                        ring: f.ring.concat(g.ring)
                                    };
                                }
                            } else {
                                delete fragmentByEnd[f.end];
                                f.ring.push(end);
                                fragmentByEnd[f.end = endIndex] = f;
                            }
                        } else if (f = fragmentByStart[endIndex]) {
                            if (g = fragmentByEnd[startIndex]) {
                                delete fragmentByStart[f.start];
                                delete fragmentByEnd[g.end];
                                if (f === g) {
                                    f.ring.push(end);
                                    callback(f.ring);
                                } else {
                                    fragmentByStart[g.start] = fragmentByEnd[f.end] = {
                                        start: g.start,
                                        end: f.end,
                                        ring: g.ring.concat(f.ring)
                                    };
                                }
                            } else {
                                delete fragmentByStart[f.start];
                                f.ring.unshift(start);
                                fragmentByStart[f.start = startIndex] = f;
                            }
                        } else {
                            fragmentByStart[startIndex] = fragmentByEnd[endIndex] = {
                                start: startIndex,
                                end: endIndex,
                                ring: [
                                    start,
                                    end
                                ]
                            };
                        }
                    }
                }
                function index(point) {
                    return point[0] * 2 + point[1] * (dx + 1) * 4;
                }
                function smoothLinear(ring, values, value) {
                    ring.forEach(function (point) {
                        var x = point[0], y = point[1], xt = x | 0, yt = y | 0, v0, v1 = values[yt * dx + xt];
                        if (x > 0 && x < dx && xt === x) {
                            v0 = values[yt * dx + xt - 1];
                            point[0] = x + (value - v0) / (v1 - v0) - 0.5;
                        }
                        if (y > 0 && y < dy && yt === y) {
                            v0 = values[(yt - 1) * dx + xt];
                            point[1] = y + (value - v0) / (v1 - v0) - 0.5;
                        }
                    });
                }
                contours.contour = contour;
                contours.size = function (_) {
                    if (!arguments.length)
                        return [
                            dx,
                            dy
                        ];
                    var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);
                    if (!(_0 > 0) || !(_1 > 0))
                        throw new Error('invalid size');
                    return dx = _0, dy = _1, contours;
                };
                contours.thresholds = function (_) {
                    return arguments.length ? (threshold = typeof _ === 'function' ? _ : Array.isArray(_) ? Object(_constant__WEBPACK_IMPORTED_MODULE_4__['default'])(_array__WEBPACK_IMPORTED_MODULE_1__['slice'].call(_)) : Object(_constant__WEBPACK_IMPORTED_MODULE_4__['default'])(_), contours) : threshold;
                };
                contours.smooth = function (_) {
                    return arguments.length ? (smooth = _ ? smoothLinear : _noop__WEBPACK_IMPORTED_MODULE_6__['default'], contours) : smooth === smoothLinear;
                };
                return contours;
            };
        },
        './node_modules/d3-contour/src/density.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-contour/src/array.js');
            var _blur__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-contour/src/blur.js');
            var _constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-contour/src/constant.js');
            var _contours__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-contour/src/contours.js');
            function defaultX(d) {
                return d[0];
            }
            function defaultY(d) {
                return d[1];
            }
            function defaultWeight() {
                return 1;
            }
            __webpack_exports__['default'] = function () {
                var x = defaultX, y = defaultY, weight = defaultWeight, dx = 960, dy = 500, r = 20, k = 2, o = r * 3, n = dx + o * 2 >> k, m = dy + o * 2 >> k, threshold = Object(_constant__WEBPACK_IMPORTED_MODULE_3__['default'])(20);
                function density(data) {
                    var values0 = new Float32Array(n * m), values1 = new Float32Array(n * m);
                    data.forEach(function (d, i, data) {
                        var xi = +x(d, i, data) + o >> k, yi = +y(d, i, data) + o >> k, wi = +weight(d, i, data);
                        if (xi >= 0 && xi < n && yi >= 0 && yi < m) {
                            values0[xi + yi * n] += wi;
                        }
                    });
                    Object(_blur__WEBPACK_IMPORTED_MODULE_2__['blurX'])({
                        width: n,
                        height: m,
                        data: values0
                    }, {
                        width: n,
                        height: m,
                        data: values1
                    }, r >> k);
                    Object(_blur__WEBPACK_IMPORTED_MODULE_2__['blurY'])({
                        width: n,
                        height: m,
                        data: values1
                    }, {
                        width: n,
                        height: m,
                        data: values0
                    }, r >> k);
                    Object(_blur__WEBPACK_IMPORTED_MODULE_2__['blurX'])({
                        width: n,
                        height: m,
                        data: values0
                    }, {
                        width: n,
                        height: m,
                        data: values1
                    }, r >> k);
                    Object(_blur__WEBPACK_IMPORTED_MODULE_2__['blurY'])({
                        width: n,
                        height: m,
                        data: values1
                    }, {
                        width: n,
                        height: m,
                        data: values0
                    }, r >> k);
                    Object(_blur__WEBPACK_IMPORTED_MODULE_2__['blurX'])({
                        width: n,
                        height: m,
                        data: values0
                    }, {
                        width: n,
                        height: m,
                        data: values1
                    }, r >> k);
                    Object(_blur__WEBPACK_IMPORTED_MODULE_2__['blurY'])({
                        width: n,
                        height: m,
                        data: values1
                    }, {
                        width: n,
                        height: m,
                        data: values0
                    }, r >> k);
                    var tz = threshold(values0);
                    if (!Array.isArray(tz)) {
                        var stop = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['max'])(values0);
                        tz = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['tickStep'])(0, stop, tz);
                        tz = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['range'])(0, Math.floor(stop / tz) * tz, tz);
                        tz.shift();
                    }
                    return Object(_contours__WEBPACK_IMPORTED_MODULE_4__['default'])().thresholds(tz).size([
                        n,
                        m
                    ])(values0).map(transform);
                }
                function transform(geometry) {
                    geometry.value *= Math.pow(2, -2 * k);
                    geometry.coordinates.forEach(transformPolygon);
                    return geometry;
                }
                function transformPolygon(coordinates) {
                    coordinates.forEach(transformRing);
                }
                function transformRing(coordinates) {
                    coordinates.forEach(transformPoint);
                }
                function transformPoint(coordinates) {
                    coordinates[0] = coordinates[0] * Math.pow(2, k) - o;
                    coordinates[1] = coordinates[1] * Math.pow(2, k) - o;
                }
                function resize() {
                    o = r * 3;
                    n = dx + o * 2 >> k;
                    m = dy + o * 2 >> k;
                    return density;
                }
                density.x = function (_) {
                    return arguments.length ? (x = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_3__['default'])(+_), density) : x;
                };
                density.y = function (_) {
                    return arguments.length ? (y = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_3__['default'])(+_), density) : y;
                };
                density.weight = function (_) {
                    return arguments.length ? (weight = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_3__['default'])(+_), density) : weight;
                };
                density.size = function (_) {
                    if (!arguments.length)
                        return [
                            dx,
                            dy
                        ];
                    var _0 = Math.ceil(_[0]), _1 = Math.ceil(_[1]);
                    if (!(_0 >= 0) && !(_0 >= 0))
                        throw new Error('invalid size');
                    return dx = _0, dy = _1, resize();
                };
                density.cellSize = function (_) {
                    if (!arguments.length)
                        return 1 << k;
                    if (!((_ = +_) >= 1))
                        throw new Error('invalid cell size');
                    return k = Math.floor(Math.log(_) / Math.LN2), resize();
                };
                density.thresholds = function (_) {
                    return arguments.length ? (threshold = typeof _ === 'function' ? _ : Array.isArray(_) ? Object(_constant__WEBPACK_IMPORTED_MODULE_3__['default'])(_array__WEBPACK_IMPORTED_MODULE_1__['slice'].call(_)) : Object(_constant__WEBPACK_IMPORTED_MODULE_3__['default'])(_), density) : threshold;
                };
                density.bandwidth = function (_) {
                    if (!arguments.length)
                        return Math.sqrt(r * (r + 1));
                    if (!((_ = +_) >= 0))
                        throw new Error('invalid bandwidth');
                    return r = Math.round((Math.sqrt(4 * _ * _ + 1) - 1) / 2), resize();
                };
                return density;
            };
        },
        './node_modules/d3-contour/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _contours__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-contour/src/contours.js');
            __webpack_require__.d(__webpack_exports__, 'contours', function () {
                return _contours__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _density__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-contour/src/density.js');
            __webpack_require__.d(__webpack_exports__, 'contourDensity', function () {
                return _density__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
        },
        './node_modules/d3-contour/src/noop.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
            };
        },
        './node_modules/d3-dispatch/src/dispatch.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var noop = {
                value: function () {
                }
            };
            function dispatch() {
                for (var i = 0, n = arguments.length, _ = {}, t; i < n; ++i) {
                    if (!(t = arguments[i] + '') || t in _ || /[\s.]/.test(t))
                        throw new Error('illegal type: ' + t);
                    _[t] = [];
                }
                return new Dispatch(_);
            }
            function Dispatch(_) {
                this._ = _;
            }
            function parseTypenames(typenames, types) {
                return typenames.trim().split(/^|\s+/).map(function (t) {
                    var name = '', i = t.indexOf('.');
                    if (i >= 0)
                        name = t.slice(i + 1), t = t.slice(0, i);
                    if (t && !types.hasOwnProperty(t))
                        throw new Error('unknown type: ' + t);
                    return {
                        type: t,
                        name: name
                    };
                });
            }
            Dispatch.prototype = dispatch.prototype = {
                constructor: Dispatch,
                on: function (typename, callback) {
                    var _ = this._, T = parseTypenames(typename + '', _), t, i = -1, n = T.length;
                    if (arguments.length < 2) {
                        while (++i < n)
                            if ((t = (typename = T[i]).type) && (t = get(_[t], typename.name)))
                                return t;
                        return;
                    }
                    if (callback != null && typeof callback !== 'function')
                        throw new Error('invalid callback: ' + callback);
                    while (++i < n) {
                        if (t = (typename = T[i]).type)
                            _[t] = set(_[t], typename.name, callback);
                        else if (callback == null)
                            for (t in _)
                                _[t] = set(_[t], typename.name, null);
                    }
                    return this;
                },
                copy: function () {
                    var copy = {}, _ = this._;
                    for (var t in _)
                        copy[t] = _[t].slice();
                    return new Dispatch(copy);
                },
                call: function (type, that) {
                    if ((n = arguments.length - 2) > 0)
                        for (var args = new Array(n), i = 0, n, t; i < n; ++i)
                            args[i] = arguments[i + 2];
                    if (!this._.hasOwnProperty(type))
                        throw new Error('unknown type: ' + type);
                    for (t = this._[type], i = 0, n = t.length; i < n; ++i)
                        t[i].value.apply(that, args);
                },
                apply: function (type, that, args) {
                    if (!this._.hasOwnProperty(type))
                        throw new Error('unknown type: ' + type);
                    for (var t = this._[type], i = 0, n = t.length; i < n; ++i)
                        t[i].value.apply(that, args);
                }
            };
            function get(type, name) {
                for (var i = 0, n = type.length, c; i < n; ++i) {
                    if ((c = type[i]).name === name) {
                        return c.value;
                    }
                }
            }
            function set(type, name, callback) {
                for (var i = 0, n = type.length; i < n; ++i) {
                    if (type[i].name === name) {
                        type[i] = noop, type = type.slice(0, i).concat(type.slice(i + 1));
                        break;
                    }
                }
                if (callback != null)
                    type.push({
                        name: name,
                        value: callback
                    });
                return type;
            }
            __webpack_exports__['default'] = dispatch;
        },
        './node_modules/d3-dispatch/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _dispatch_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-dispatch/src/dispatch.js');
            __webpack_require__.d(__webpack_exports__, 'dispatch', function () {
                return _dispatch_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
        },
        './node_modules/d3-drag/src/constant.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return function () {
                    return x;
                };
            };
        },
        './node_modules/d3-drag/src/drag.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_dispatch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-dispatch/src/index.js');
            var d3_selection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            var _nodrag_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-drag/src/nodrag.js');
            var _noevent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-drag/src/noevent.js');
            var _constant_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-drag/src/constant.js');
            var _event_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-drag/src/event.js');
            function defaultFilter() {
                return !d3_selection__WEBPACK_IMPORTED_MODULE_1__['event'].ctrlKey && !d3_selection__WEBPACK_IMPORTED_MODULE_1__['event'].button;
            }
            function defaultContainer() {
                return this.parentNode;
            }
            function defaultSubject(d) {
                return d == null ? {
                    x: d3_selection__WEBPACK_IMPORTED_MODULE_1__['event'].x,
                    y: d3_selection__WEBPACK_IMPORTED_MODULE_1__['event'].y
                } : d;
            }
            function defaultTouchable() {
                return navigator.maxTouchPoints || 'ontouchstart' in this;
            }
            __webpack_exports__['default'] = function () {
                var filter = defaultFilter, container = defaultContainer, subject = defaultSubject, touchable = defaultTouchable, gestures = {}, listeners = Object(d3_dispatch__WEBPACK_IMPORTED_MODULE_0__['dispatch'])('start', 'drag', 'end'), active = 0, mousedownx, mousedowny, mousemoving, touchending, clickDistance2 = 0;
                function drag(selection) {
                    selection.on('mousedown.drag', mousedowned).filter(touchable).on('touchstart.drag', touchstarted).on('touchmove.drag', touchmoved).on('touchend.drag touchcancel.drag', touchended).style('touch-action', 'none').style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)');
                }
                function mousedowned() {
                    if (touchending || !filter.apply(this, arguments))
                        return;
                    var gesture = beforestart('mouse', container.apply(this, arguments), d3_selection__WEBPACK_IMPORTED_MODULE_1__['mouse'], this, arguments);
                    if (!gesture)
                        return;
                    Object(d3_selection__WEBPACK_IMPORTED_MODULE_1__['select'])(d3_selection__WEBPACK_IMPORTED_MODULE_1__['event'].view).on('mousemove.drag', mousemoved, true).on('mouseup.drag', mouseupped, true);
                    Object(_nodrag_js__WEBPACK_IMPORTED_MODULE_2__['default'])(d3_selection__WEBPACK_IMPORTED_MODULE_1__['event'].view);
                    Object(_noevent_js__WEBPACK_IMPORTED_MODULE_3__['nopropagation'])();
                    mousemoving = false;
                    mousedownx = d3_selection__WEBPACK_IMPORTED_MODULE_1__['event'].clientX;
                    mousedowny = d3_selection__WEBPACK_IMPORTED_MODULE_1__['event'].clientY;
                    gesture('start');
                }
                function mousemoved() {
                    Object(_noevent_js__WEBPACK_IMPORTED_MODULE_3__['default'])();
                    if (!mousemoving) {
                        var dx = d3_selection__WEBPACK_IMPORTED_MODULE_1__['event'].clientX - mousedownx, dy = d3_selection__WEBPACK_IMPORTED_MODULE_1__['event'].clientY - mousedowny;
                        mousemoving = dx * dx + dy * dy > clickDistance2;
                    }
                    gestures.mouse('drag');
                }
                function mouseupped() {
                    Object(d3_selection__WEBPACK_IMPORTED_MODULE_1__['select'])(d3_selection__WEBPACK_IMPORTED_MODULE_1__['event'].view).on('mousemove.drag mouseup.drag', null);
                    Object(_nodrag_js__WEBPACK_IMPORTED_MODULE_2__['yesdrag'])(d3_selection__WEBPACK_IMPORTED_MODULE_1__['event'].view, mousemoving);
                    Object(_noevent_js__WEBPACK_IMPORTED_MODULE_3__['default'])();
                    gestures.mouse('end');
                }
                function touchstarted() {
                    if (!filter.apply(this, arguments))
                        return;
                    var touches = d3_selection__WEBPACK_IMPORTED_MODULE_1__['event'].changedTouches, c = container.apply(this, arguments), n = touches.length, i, gesture;
                    for (i = 0; i < n; ++i) {
                        if (gesture = beforestart(touches[i].identifier, c, d3_selection__WEBPACK_IMPORTED_MODULE_1__['touch'], this, arguments)) {
                            Object(_noevent_js__WEBPACK_IMPORTED_MODULE_3__['nopropagation'])();
                            gesture('start');
                        }
                    }
                }
                function touchmoved() {
                    var touches = d3_selection__WEBPACK_IMPORTED_MODULE_1__['event'].changedTouches, n = touches.length, i, gesture;
                    for (i = 0; i < n; ++i) {
                        if (gesture = gestures[touches[i].identifier]) {
                            Object(_noevent_js__WEBPACK_IMPORTED_MODULE_3__['default'])();
                            gesture('drag');
                        }
                    }
                }
                function touchended() {
                    var touches = d3_selection__WEBPACK_IMPORTED_MODULE_1__['event'].changedTouches, n = touches.length, i, gesture;
                    if (touchending)
                        clearTimeout(touchending);
                    touchending = setTimeout(function () {
                        touchending = null;
                    }, 500);
                    for (i = 0; i < n; ++i) {
                        if (gesture = gestures[touches[i].identifier]) {
                            Object(_noevent_js__WEBPACK_IMPORTED_MODULE_3__['nopropagation'])();
                            gesture('end');
                        }
                    }
                }
                function beforestart(id, container, point, that, args) {
                    var p = point(container, id), s, dx, dy, sublisteners = listeners.copy();
                    if (!Object(d3_selection__WEBPACK_IMPORTED_MODULE_1__['customEvent'])(new _event_js__WEBPACK_IMPORTED_MODULE_5__['default'](drag, 'beforestart', s, id, active, p[0], p[1], 0, 0, sublisteners), function () {
                            if ((d3_selection__WEBPACK_IMPORTED_MODULE_1__['event'].subject = s = subject.apply(that, args)) == null)
                                return false;
                            dx = s.x - p[0] || 0;
                            dy = s.y - p[1] || 0;
                            return true;
                        }))
                        return;
                    return function gesture(type) {
                        var p0 = p, n;
                        switch (type) {
                        case 'start':
                            gestures[id] = gesture, n = active++;
                            break;
                        case 'end':
                            delete gestures[id], --active;
                        case 'drag':
                            p = point(container, id), n = active;
                            break;
                        }
                        Object(d3_selection__WEBPACK_IMPORTED_MODULE_1__['customEvent'])(new _event_js__WEBPACK_IMPORTED_MODULE_5__['default'](drag, type, s, id, n, p[0] + dx, p[1] + dy, p[0] - p0[0], p[1] - p0[1], sublisteners), sublisteners.apply, sublisteners, [
                            type,
                            that,
                            args
                        ]);
                    };
                }
                drag.filter = function (_) {
                    return arguments.length ? (filter = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_4__['default'])(!!_), drag) : filter;
                };
                drag.container = function (_) {
                    return arguments.length ? (container = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_4__['default'])(_), drag) : container;
                };
                drag.subject = function (_) {
                    return arguments.length ? (subject = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_4__['default'])(_), drag) : subject;
                };
                drag.touchable = function (_) {
                    return arguments.length ? (touchable = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_4__['default'])(!!_), drag) : touchable;
                };
                drag.on = function () {
                    var value = listeners.on.apply(listeners, arguments);
                    return value === listeners ? drag : value;
                };
                drag.clickDistance = function (_) {
                    return arguments.length ? (clickDistance2 = (_ = +_) * _, drag) : Math.sqrt(clickDistance2);
                };
                return drag;
            };
        },
        './node_modules/d3-drag/src/event.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return DragEvent;
            });
            function DragEvent(target, type, subject, id, active, x, y, dx, dy, dispatch) {
                this.target = target;
                this.type = type;
                this.subject = subject;
                this.identifier = id;
                this.active = active;
                this.x = x;
                this.y = y;
                this.dx = dx;
                this.dy = dy;
                this._ = dispatch;
            }
            DragEvent.prototype.on = function () {
                var value = this._.on.apply(this._, arguments);
                return value === this._ ? this : value;
            };
        },
        './node_modules/d3-drag/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _drag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-drag/src/drag.js');
            __webpack_require__.d(__webpack_exports__, 'drag', function () {
                return _drag_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _nodrag_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-drag/src/nodrag.js');
            __webpack_require__.d(__webpack_exports__, 'dragDisable', function () {
                return _nodrag_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'dragEnable', function () {
                return _nodrag_js__WEBPACK_IMPORTED_MODULE_1__['yesdrag'];
            });
        },
        './node_modules/d3-drag/src/nodrag.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'yesdrag', function () {
                return yesdrag;
            });
            var d3_selection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            var _noevent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-drag/src/noevent.js');
            __webpack_exports__['default'] = function (view) {
                var root = view.document.documentElement, selection = Object(d3_selection__WEBPACK_IMPORTED_MODULE_0__['select'])(view).on('dragstart.drag', _noevent_js__WEBPACK_IMPORTED_MODULE_1__['default'], true);
                if ('onselectstart' in root) {
                    selection.on('selectstart.drag', _noevent_js__WEBPACK_IMPORTED_MODULE_1__['default'], true);
                } else {
                    root.__noselect = root.style.MozUserSelect;
                    root.style.MozUserSelect = 'none';
                }
            };
            function yesdrag(view, noclick) {
                var root = view.document.documentElement, selection = Object(d3_selection__WEBPACK_IMPORTED_MODULE_0__['select'])(view).on('dragstart.drag', null);
                if (noclick) {
                    selection.on('click.drag', _noevent_js__WEBPACK_IMPORTED_MODULE_1__['default'], true);
                    setTimeout(function () {
                        selection.on('click.drag', null);
                    }, 0);
                }
                if ('onselectstart' in root) {
                    selection.on('selectstart.drag', null);
                } else {
                    root.style.MozUserSelect = root.__noselect;
                    delete root.__noselect;
                }
            }
        },
        './node_modules/d3-drag/src/noevent.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'nopropagation', function () {
                return nopropagation;
            });
            var d3_selection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            function nopropagation() {
                d3_selection__WEBPACK_IMPORTED_MODULE_0__['event'].stopImmediatePropagation();
            }
            __webpack_exports__['default'] = function () {
                d3_selection__WEBPACK_IMPORTED_MODULE_0__['event'].preventDefault();
                d3_selection__WEBPACK_IMPORTED_MODULE_0__['event'].stopImmediatePropagation();
            };
        },
        './node_modules/d3-dsv/src/autoType.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return autoType;
            });
            function autoType(object) {
                for (var key in object) {
                    var value = object[key].trim(), number, m;
                    if (!value)
                        value = null;
                    else if (value === 'true')
                        value = true;
                    else if (value === 'false')
                        value = false;
                    else if (value === 'NaN')
                        value = NaN;
                    else if (!isNaN(number = +value))
                        value = number;
                    else if (m = value.match(/^([-+]\d{2})?\d{4}(-\d{2}(-\d{2})?)?(T\d{2}:\d{2}(:\d{2}(\.\d{3})?)?(Z|[-+]\d{2}:\d{2})?)?$/)) {
                        if (fixtz && !!m[4] && !m[7])
                            value = value.replace(/-/g, '/').replace(/T/, ' ');
                        value = new Date(value);
                    } else
                        continue;
                    object[key] = value;
                }
                return object;
            }
            var fixtz = new Date('2019-01-01T00:00').getHours() || new Date('2019-07-01T00:00').getHours();
        },
        './node_modules/d3-dsv/src/csv.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'csvParse', function () {
                return csvParse;
            });
            __webpack_require__.d(__webpack_exports__, 'csvParseRows', function () {
                return csvParseRows;
            });
            __webpack_require__.d(__webpack_exports__, 'csvFormat', function () {
                return csvFormat;
            });
            __webpack_require__.d(__webpack_exports__, 'csvFormatBody', function () {
                return csvFormatBody;
            });
            __webpack_require__.d(__webpack_exports__, 'csvFormatRows', function () {
                return csvFormatRows;
            });
            __webpack_require__.d(__webpack_exports__, 'csvFormatRow', function () {
                return csvFormatRow;
            });
            __webpack_require__.d(__webpack_exports__, 'csvFormatValue', function () {
                return csvFormatValue;
            });
            var _dsv_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-dsv/src/dsv.js');
            var csv = Object(_dsv_js__WEBPACK_IMPORTED_MODULE_0__['default'])(',');
            var csvParse = csv.parse;
            var csvParseRows = csv.parseRows;
            var csvFormat = csv.format;
            var csvFormatBody = csv.formatBody;
            var csvFormatRows = csv.formatRows;
            var csvFormatRow = csv.formatRow;
            var csvFormatValue = csv.formatValue;
        },
        './node_modules/d3-dsv/src/dsv.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var EOL = {}, EOF = {}, QUOTE = 34, NEWLINE = 10, RETURN = 13;
            function objectConverter(columns) {
                return new Function('d', 'return {' + columns.map(function (name, i) {
                    return JSON.stringify(name) + ': d[' + i + '] || ""';
                }).join(',') + '}');
            }
            function customConverter(columns, f) {
                var object = objectConverter(columns);
                return function (row, i) {
                    return f(object(row), i, columns);
                };
            }
            function inferColumns(rows) {
                var columnSet = Object.create(null), columns = [];
                rows.forEach(function (row) {
                    for (var column in row) {
                        if (!(column in columnSet)) {
                            columns.push(columnSet[column] = column);
                        }
                    }
                });
                return columns;
            }
            function pad(value, width) {
                var s = value + '', length = s.length;
                return length < width ? new Array(width - length + 1).join(0) + s : s;
            }
            function formatYear(year) {
                return year < 0 ? '-' + pad(-year, 6) : year > 9999 ? '+' + pad(year, 6) : pad(year, 4);
            }
            function formatDate(date) {
                var hours = date.getUTCHours(), minutes = date.getUTCMinutes(), seconds = date.getUTCSeconds(), milliseconds = date.getUTCMilliseconds();
                return isNaN(date) ? 'Invalid Date' : formatYear(date.getUTCFullYear(), 4) + '-' + pad(date.getUTCMonth() + 1, 2) + '-' + pad(date.getUTCDate(), 2) + (milliseconds ? 'T' + pad(hours, 2) + ':' + pad(minutes, 2) + ':' + pad(seconds, 2) + '.' + pad(milliseconds, 3) + 'Z' : seconds ? 'T' + pad(hours, 2) + ':' + pad(minutes, 2) + ':' + pad(seconds, 2) + 'Z' : minutes || hours ? 'T' + pad(hours, 2) + ':' + pad(minutes, 2) + 'Z' : '');
            }
            __webpack_exports__['default'] = function (delimiter) {
                var reFormat = new RegExp('["' + delimiter + '\n\r]'), DELIMITER = delimiter.charCodeAt(0);
                function parse(text, f) {
                    var convert, columns, rows = parseRows(text, function (row, i) {
                            if (convert)
                                return convert(row, i - 1);
                            columns = row, convert = f ? customConverter(row, f) : objectConverter(row);
                        });
                    rows.columns = columns || [];
                    return rows;
                }
                function parseRows(text, f) {
                    var rows = [], N = text.length, I = 0, n = 0, t, eof = N <= 0, eol = false;
                    if (text.charCodeAt(N - 1) === NEWLINE)
                        --N;
                    if (text.charCodeAt(N - 1) === RETURN)
                        --N;
                    function token() {
                        if (eof)
                            return EOF;
                        if (eol)
                            return eol = false, EOL;
                        var i, j = I, c;
                        if (text.charCodeAt(j) === QUOTE) {
                            while (I++ < N && text.charCodeAt(I) !== QUOTE || text.charCodeAt(++I) === QUOTE);
                            if ((i = I) >= N)
                                eof = true;
                            else if ((c = text.charCodeAt(I++)) === NEWLINE)
                                eol = true;
                            else if (c === RETURN) {
                                eol = true;
                                if (text.charCodeAt(I) === NEWLINE)
                                    ++I;
                            }
                            return text.slice(j + 1, i - 1).replace(/""/g, '"');
                        }
                        while (I < N) {
                            if ((c = text.charCodeAt(i = I++)) === NEWLINE)
                                eol = true;
                            else if (c === RETURN) {
                                eol = true;
                                if (text.charCodeAt(I) === NEWLINE)
                                    ++I;
                            } else if (c !== DELIMITER)
                                continue;
                            return text.slice(j, i);
                        }
                        return eof = true, text.slice(j, N);
                    }
                    while ((t = token()) !== EOF) {
                        var row = [];
                        while (t !== EOL && t !== EOF)
                            row.push(t), t = token();
                        if (f && (row = f(row, n++)) == null)
                            continue;
                        rows.push(row);
                    }
                    return rows;
                }
                function preformatBody(rows, columns) {
                    return rows.map(function (row) {
                        return columns.map(function (column) {
                            return formatValue(row[column]);
                        }).join(delimiter);
                    });
                }
                function format(rows, columns) {
                    if (columns == null)
                        columns = inferColumns(rows);
                    return [columns.map(formatValue).join(delimiter)].concat(preformatBody(rows, columns)).join('\n');
                }
                function formatBody(rows, columns) {
                    if (columns == null)
                        columns = inferColumns(rows);
                    return preformatBody(rows, columns).join('\n');
                }
                function formatRows(rows) {
                    return rows.map(formatRow).join('\n');
                }
                function formatRow(row) {
                    return row.map(formatValue).join(delimiter);
                }
                function formatValue(value) {
                    return value == null ? '' : value instanceof Date ? formatDate(value) : reFormat.test(value += '') ? '"' + value.replace(/"/g, '""') + '"' : value;
                }
                return {
                    parse: parse,
                    parseRows: parseRows,
                    format: format,
                    formatBody: formatBody,
                    formatRows: formatRows,
                    formatRow: formatRow,
                    formatValue: formatValue
                };
            };
        },
        './node_modules/d3-dsv/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _dsv_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-dsv/src/dsv.js');
            __webpack_require__.d(__webpack_exports__, 'dsvFormat', function () {
                return _dsv_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _csv_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-dsv/src/csv.js');
            __webpack_require__.d(__webpack_exports__, 'csvParse', function () {
                return _csv_js__WEBPACK_IMPORTED_MODULE_1__['csvParse'];
            });
            __webpack_require__.d(__webpack_exports__, 'csvParseRows', function () {
                return _csv_js__WEBPACK_IMPORTED_MODULE_1__['csvParseRows'];
            });
            __webpack_require__.d(__webpack_exports__, 'csvFormat', function () {
                return _csv_js__WEBPACK_IMPORTED_MODULE_1__['csvFormat'];
            });
            __webpack_require__.d(__webpack_exports__, 'csvFormatBody', function () {
                return _csv_js__WEBPACK_IMPORTED_MODULE_1__['csvFormatBody'];
            });
            __webpack_require__.d(__webpack_exports__, 'csvFormatRows', function () {
                return _csv_js__WEBPACK_IMPORTED_MODULE_1__['csvFormatRows'];
            });
            __webpack_require__.d(__webpack_exports__, 'csvFormatRow', function () {
                return _csv_js__WEBPACK_IMPORTED_MODULE_1__['csvFormatRow'];
            });
            __webpack_require__.d(__webpack_exports__, 'csvFormatValue', function () {
                return _csv_js__WEBPACK_IMPORTED_MODULE_1__['csvFormatValue'];
            });
            var _tsv_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-dsv/src/tsv.js');
            __webpack_require__.d(__webpack_exports__, 'tsvParse', function () {
                return _tsv_js__WEBPACK_IMPORTED_MODULE_2__['tsvParse'];
            });
            __webpack_require__.d(__webpack_exports__, 'tsvParseRows', function () {
                return _tsv_js__WEBPACK_IMPORTED_MODULE_2__['tsvParseRows'];
            });
            __webpack_require__.d(__webpack_exports__, 'tsvFormat', function () {
                return _tsv_js__WEBPACK_IMPORTED_MODULE_2__['tsvFormat'];
            });
            __webpack_require__.d(__webpack_exports__, 'tsvFormatBody', function () {
                return _tsv_js__WEBPACK_IMPORTED_MODULE_2__['tsvFormatBody'];
            });
            __webpack_require__.d(__webpack_exports__, 'tsvFormatRows', function () {
                return _tsv_js__WEBPACK_IMPORTED_MODULE_2__['tsvFormatRows'];
            });
            __webpack_require__.d(__webpack_exports__, 'tsvFormatRow', function () {
                return _tsv_js__WEBPACK_IMPORTED_MODULE_2__['tsvFormatRow'];
            });
            __webpack_require__.d(__webpack_exports__, 'tsvFormatValue', function () {
                return _tsv_js__WEBPACK_IMPORTED_MODULE_2__['tsvFormatValue'];
            });
            var _autoType_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-dsv/src/autoType.js');
            __webpack_require__.d(__webpack_exports__, 'autoType', function () {
                return _autoType_js__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
        },
        './node_modules/d3-dsv/src/tsv.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'tsvParse', function () {
                return tsvParse;
            });
            __webpack_require__.d(__webpack_exports__, 'tsvParseRows', function () {
                return tsvParseRows;
            });
            __webpack_require__.d(__webpack_exports__, 'tsvFormat', function () {
                return tsvFormat;
            });
            __webpack_require__.d(__webpack_exports__, 'tsvFormatBody', function () {
                return tsvFormatBody;
            });
            __webpack_require__.d(__webpack_exports__, 'tsvFormatRows', function () {
                return tsvFormatRows;
            });
            __webpack_require__.d(__webpack_exports__, 'tsvFormatRow', function () {
                return tsvFormatRow;
            });
            __webpack_require__.d(__webpack_exports__, 'tsvFormatValue', function () {
                return tsvFormatValue;
            });
            var _dsv_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-dsv/src/dsv.js');
            var tsv = Object(_dsv_js__WEBPACK_IMPORTED_MODULE_0__['default'])('\t');
            var tsvParse = tsv.parse;
            var tsvParseRows = tsv.parseRows;
            var tsvFormat = tsv.format;
            var tsvFormatBody = tsv.formatBody;
            var tsvFormatRows = tsv.formatRows;
            var tsvFormatRow = tsv.formatRow;
            var tsvFormatValue = tsv.formatValue;
        },
        './node_modules/d3-ease/src/back.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'backIn', function () {
                return backIn;
            });
            __webpack_require__.d(__webpack_exports__, 'backOut', function () {
                return backOut;
            });
            __webpack_require__.d(__webpack_exports__, 'backInOut', function () {
                return backInOut;
            });
            var overshoot = 1.70158;
            var backIn = function custom(s) {
                s = +s;
                function backIn(t) {
                    return (t = +t) * t * (s * (t - 1) + t);
                }
                backIn.overshoot = custom;
                return backIn;
            }(overshoot);
            var backOut = function custom(s) {
                s = +s;
                function backOut(t) {
                    return --t * t * ((t + 1) * s + t) + 1;
                }
                backOut.overshoot = custom;
                return backOut;
            }(overshoot);
            var backInOut = function custom(s) {
                s = +s;
                function backInOut(t) {
                    return ((t *= 2) < 1 ? t * t * ((s + 1) * t - s) : (t -= 2) * t * ((s + 1) * t + s) + 2) / 2;
                }
                backInOut.overshoot = custom;
                return backInOut;
            }(overshoot);
        },
        './node_modules/d3-ease/src/bounce.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'bounceIn', function () {
                return bounceIn;
            });
            __webpack_require__.d(__webpack_exports__, 'bounceOut', function () {
                return bounceOut;
            });
            __webpack_require__.d(__webpack_exports__, 'bounceInOut', function () {
                return bounceInOut;
            });
            var b1 = 4 / 11, b2 = 6 / 11, b3 = 8 / 11, b4 = 3 / 4, b5 = 9 / 11, b6 = 10 / 11, b7 = 15 / 16, b8 = 21 / 22, b9 = 63 / 64, b0 = 1 / b1 / b1;
            function bounceIn(t) {
                return 1 - bounceOut(1 - t);
            }
            function bounceOut(t) {
                return (t = +t) < b1 ? b0 * t * t : t < b3 ? b0 * (t -= b2) * t + b4 : t < b6 ? b0 * (t -= b5) * t + b7 : b0 * (t -= b8) * t + b9;
            }
            function bounceInOut(t) {
                return ((t *= 2) <= 1 ? 1 - bounceOut(1 - t) : bounceOut(t - 1) + 1) / 2;
            }
        },
        './node_modules/d3-ease/src/circle.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'circleIn', function () {
                return circleIn;
            });
            __webpack_require__.d(__webpack_exports__, 'circleOut', function () {
                return circleOut;
            });
            __webpack_require__.d(__webpack_exports__, 'circleInOut', function () {
                return circleInOut;
            });
            function circleIn(t) {
                return 1 - Math.sqrt(1 - t * t);
            }
            function circleOut(t) {
                return Math.sqrt(1 - --t * t);
            }
            function circleInOut(t) {
                return ((t *= 2) <= 1 ? 1 - Math.sqrt(1 - t * t) : Math.sqrt(1 - (t -= 2) * t) + 1) / 2;
            }
        },
        './node_modules/d3-ease/src/cubic.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'cubicIn', function () {
                return cubicIn;
            });
            __webpack_require__.d(__webpack_exports__, 'cubicOut', function () {
                return cubicOut;
            });
            __webpack_require__.d(__webpack_exports__, 'cubicInOut', function () {
                return cubicInOut;
            });
            function cubicIn(t) {
                return t * t * t;
            }
            function cubicOut(t) {
                return --t * t * t + 1;
            }
            function cubicInOut(t) {
                return ((t *= 2) <= 1 ? t * t * t : (t -= 2) * t * t + 2) / 2;
            }
        },
        './node_modules/d3-ease/src/elastic.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'elasticIn', function () {
                return elasticIn;
            });
            __webpack_require__.d(__webpack_exports__, 'elasticOut', function () {
                return elasticOut;
            });
            __webpack_require__.d(__webpack_exports__, 'elasticInOut', function () {
                return elasticInOut;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-ease/src/math.js');
            var tau = 2 * Math.PI, amplitude = 1, period = 0.3;
            var elasticIn = function custom(a, p) {
                var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);
                function elasticIn(t) {
                    return a * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['tpmt'])(- --t) * Math.sin((s - t) / p);
                }
                elasticIn.amplitude = function (a) {
                    return custom(a, p * tau);
                };
                elasticIn.period = function (p) {
                    return custom(a, p);
                };
                return elasticIn;
            }(amplitude, period);
            var elasticOut = function custom(a, p) {
                var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);
                function elasticOut(t) {
                    return 1 - a * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['tpmt'])(t = +t) * Math.sin((t + s) / p);
                }
                elasticOut.amplitude = function (a) {
                    return custom(a, p * tau);
                };
                elasticOut.period = function (p) {
                    return custom(a, p);
                };
                return elasticOut;
            }(amplitude, period);
            var elasticInOut = function custom(a, p) {
                var s = Math.asin(1 / (a = Math.max(1, a))) * (p /= tau);
                function elasticInOut(t) {
                    return ((t = t * 2 - 1) < 0 ? a * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['tpmt'])(-t) * Math.sin((s - t) / p) : 2 - a * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['tpmt'])(t) * Math.sin((s + t) / p)) / 2;
                }
                elasticInOut.amplitude = function (a) {
                    return custom(a, p * tau);
                };
                elasticInOut.period = function (p) {
                    return custom(a, p);
                };
                return elasticInOut;
            }(amplitude, period);
        },
        './node_modules/d3-ease/src/exp.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'expIn', function () {
                return expIn;
            });
            __webpack_require__.d(__webpack_exports__, 'expOut', function () {
                return expOut;
            });
            __webpack_require__.d(__webpack_exports__, 'expInOut', function () {
                return expInOut;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-ease/src/math.js');
            function expIn(t) {
                return Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['tpmt'])(1 - +t);
            }
            function expOut(t) {
                return 1 - Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['tpmt'])(t);
            }
            function expInOut(t) {
                return ((t *= 2) <= 1 ? Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['tpmt'])(1 - t) : 2 - Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['tpmt'])(t - 1)) / 2;
            }
        },
        './node_modules/d3-ease/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _linear_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-ease/src/linear.js');
            __webpack_require__.d(__webpack_exports__, 'easeLinear', function () {
                return _linear_js__WEBPACK_IMPORTED_MODULE_0__['linear'];
            });
            var _quad_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-ease/src/quad.js');
            __webpack_require__.d(__webpack_exports__, 'easeQuad', function () {
                return _quad_js__WEBPACK_IMPORTED_MODULE_1__['quadInOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeQuadIn', function () {
                return _quad_js__WEBPACK_IMPORTED_MODULE_1__['quadIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeQuadOut', function () {
                return _quad_js__WEBPACK_IMPORTED_MODULE_1__['quadOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeQuadInOut', function () {
                return _quad_js__WEBPACK_IMPORTED_MODULE_1__['quadInOut'];
            });
            var _cubic_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-ease/src/cubic.js');
            __webpack_require__.d(__webpack_exports__, 'easeCubic', function () {
                return _cubic_js__WEBPACK_IMPORTED_MODULE_2__['cubicInOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeCubicIn', function () {
                return _cubic_js__WEBPACK_IMPORTED_MODULE_2__['cubicIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeCubicOut', function () {
                return _cubic_js__WEBPACK_IMPORTED_MODULE_2__['cubicOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeCubicInOut', function () {
                return _cubic_js__WEBPACK_IMPORTED_MODULE_2__['cubicInOut'];
            });
            var _poly_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-ease/src/poly.js');
            __webpack_require__.d(__webpack_exports__, 'easePoly', function () {
                return _poly_js__WEBPACK_IMPORTED_MODULE_3__['polyInOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easePolyIn', function () {
                return _poly_js__WEBPACK_IMPORTED_MODULE_3__['polyIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easePolyOut', function () {
                return _poly_js__WEBPACK_IMPORTED_MODULE_3__['polyOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easePolyInOut', function () {
                return _poly_js__WEBPACK_IMPORTED_MODULE_3__['polyInOut'];
            });
            var _sin_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-ease/src/sin.js');
            __webpack_require__.d(__webpack_exports__, 'easeSin', function () {
                return _sin_js__WEBPACK_IMPORTED_MODULE_4__['sinInOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeSinIn', function () {
                return _sin_js__WEBPACK_IMPORTED_MODULE_4__['sinIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeSinOut', function () {
                return _sin_js__WEBPACK_IMPORTED_MODULE_4__['sinOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeSinInOut', function () {
                return _sin_js__WEBPACK_IMPORTED_MODULE_4__['sinInOut'];
            });
            var _exp_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-ease/src/exp.js');
            __webpack_require__.d(__webpack_exports__, 'easeExp', function () {
                return _exp_js__WEBPACK_IMPORTED_MODULE_5__['expInOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeExpIn', function () {
                return _exp_js__WEBPACK_IMPORTED_MODULE_5__['expIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeExpOut', function () {
                return _exp_js__WEBPACK_IMPORTED_MODULE_5__['expOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeExpInOut', function () {
                return _exp_js__WEBPACK_IMPORTED_MODULE_5__['expInOut'];
            });
            var _circle_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-ease/src/circle.js');
            __webpack_require__.d(__webpack_exports__, 'easeCircle', function () {
                return _circle_js__WEBPACK_IMPORTED_MODULE_6__['circleInOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeCircleIn', function () {
                return _circle_js__WEBPACK_IMPORTED_MODULE_6__['circleIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeCircleOut', function () {
                return _circle_js__WEBPACK_IMPORTED_MODULE_6__['circleOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeCircleInOut', function () {
                return _circle_js__WEBPACK_IMPORTED_MODULE_6__['circleInOut'];
            });
            var _bounce_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-ease/src/bounce.js');
            __webpack_require__.d(__webpack_exports__, 'easeBounce', function () {
                return _bounce_js__WEBPACK_IMPORTED_MODULE_7__['bounceOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeBounceIn', function () {
                return _bounce_js__WEBPACK_IMPORTED_MODULE_7__['bounceIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeBounceOut', function () {
                return _bounce_js__WEBPACK_IMPORTED_MODULE_7__['bounceOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeBounceInOut', function () {
                return _bounce_js__WEBPACK_IMPORTED_MODULE_7__['bounceInOut'];
            });
            var _back_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-ease/src/back.js');
            __webpack_require__.d(__webpack_exports__, 'easeBack', function () {
                return _back_js__WEBPACK_IMPORTED_MODULE_8__['backInOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeBackIn', function () {
                return _back_js__WEBPACK_IMPORTED_MODULE_8__['backIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeBackOut', function () {
                return _back_js__WEBPACK_IMPORTED_MODULE_8__['backOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeBackInOut', function () {
                return _back_js__WEBPACK_IMPORTED_MODULE_8__['backInOut'];
            });
            var _elastic_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__('./node_modules/d3-ease/src/elastic.js');
            __webpack_require__.d(__webpack_exports__, 'easeElastic', function () {
                return _elastic_js__WEBPACK_IMPORTED_MODULE_9__['elasticOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeElasticIn', function () {
                return _elastic_js__WEBPACK_IMPORTED_MODULE_9__['elasticIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeElasticOut', function () {
                return _elastic_js__WEBPACK_IMPORTED_MODULE_9__['elasticOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeElasticInOut', function () {
                return _elastic_js__WEBPACK_IMPORTED_MODULE_9__['elasticInOut'];
            });
        },
        './node_modules/d3-ease/src/linear.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'linear', function () {
                return linear;
            });
            function linear(t) {
                return +t;
            }
        },
        './node_modules/d3-ease/src/math.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'tpmt', function () {
                return tpmt;
            });
            function tpmt(x) {
                return (Math.pow(2, -10 * x) - 0.0009765625) * 1.0009775171065494;
            }
        },
        './node_modules/d3-ease/src/poly.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'polyIn', function () {
                return polyIn;
            });
            __webpack_require__.d(__webpack_exports__, 'polyOut', function () {
                return polyOut;
            });
            __webpack_require__.d(__webpack_exports__, 'polyInOut', function () {
                return polyInOut;
            });
            var exponent = 3;
            var polyIn = function custom(e) {
                e = +e;
                function polyIn(t) {
                    return Math.pow(t, e);
                }
                polyIn.exponent = custom;
                return polyIn;
            }(exponent);
            var polyOut = function custom(e) {
                e = +e;
                function polyOut(t) {
                    return 1 - Math.pow(1 - t, e);
                }
                polyOut.exponent = custom;
                return polyOut;
            }(exponent);
            var polyInOut = function custom(e) {
                e = +e;
                function polyInOut(t) {
                    return ((t *= 2) <= 1 ? Math.pow(t, e) : 2 - Math.pow(2 - t, e)) / 2;
                }
                polyInOut.exponent = custom;
                return polyInOut;
            }(exponent);
        },
        './node_modules/d3-ease/src/quad.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'quadIn', function () {
                return quadIn;
            });
            __webpack_require__.d(__webpack_exports__, 'quadOut', function () {
                return quadOut;
            });
            __webpack_require__.d(__webpack_exports__, 'quadInOut', function () {
                return quadInOut;
            });
            function quadIn(t) {
                return t * t;
            }
            function quadOut(t) {
                return t * (2 - t);
            }
            function quadInOut(t) {
                return ((t *= 2) <= 1 ? t * t : --t * (2 - t) + 1) / 2;
            }
        },
        './node_modules/d3-ease/src/sin.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'sinIn', function () {
                return sinIn;
            });
            __webpack_require__.d(__webpack_exports__, 'sinOut', function () {
                return sinOut;
            });
            __webpack_require__.d(__webpack_exports__, 'sinInOut', function () {
                return sinInOut;
            });
            var pi = Math.PI, halfPi = pi / 2;
            function sinIn(t) {
                return +t === 1 ? 1 : 1 - Math.cos(t * halfPi);
            }
            function sinOut(t) {
                return Math.sin(t * halfPi);
            }
            function sinInOut(t) {
                return (1 - Math.cos(pi * t)) / 2;
            }
        },
        './node_modules/d3-fetch/src/blob.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function responseBlob(response) {
                if (!response.ok)
                    throw new Error(response.status + ' ' + response.statusText);
                return response.blob();
            }
            __webpack_exports__['default'] = function (input, init) {
                return fetch(input, init).then(responseBlob);
            };
        },
        './node_modules/d3-fetch/src/buffer.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function responseArrayBuffer(response) {
                if (!response.ok)
                    throw new Error(response.status + ' ' + response.statusText);
                return response.arrayBuffer();
            }
            __webpack_exports__['default'] = function (input, init) {
                return fetch(input, init).then(responseArrayBuffer);
            };
        },
        './node_modules/d3-fetch/src/dsv.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return dsv;
            });
            __webpack_require__.d(__webpack_exports__, 'csv', function () {
                return csv;
            });
            __webpack_require__.d(__webpack_exports__, 'tsv', function () {
                return tsv;
            });
            var d3_dsv__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-dsv/src/index.js');
            var _text_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-fetch/src/text.js');
            function dsvParse(parse) {
                return function (input, init, row) {
                    if (arguments.length === 2 && typeof init === 'function')
                        row = init, init = undefined;
                    return Object(_text_js__WEBPACK_IMPORTED_MODULE_1__['default'])(input, init).then(function (response) {
                        return parse(response, row);
                    });
                };
            }
            function dsv(delimiter, input, init, row) {
                if (arguments.length === 3 && typeof init === 'function')
                    row = init, init = undefined;
                var format = Object(d3_dsv__WEBPACK_IMPORTED_MODULE_0__['dsvFormat'])(delimiter);
                return Object(_text_js__WEBPACK_IMPORTED_MODULE_1__['default'])(input, init).then(function (response) {
                    return format.parse(response, row);
                });
            }
            var csv = dsvParse(d3_dsv__WEBPACK_IMPORTED_MODULE_0__['csvParse']);
            var tsv = dsvParse(d3_dsv__WEBPACK_IMPORTED_MODULE_0__['tsvParse']);
        },
        './node_modules/d3-fetch/src/image.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (input, init) {
                return new Promise(function (resolve, reject) {
                    var image = new Image();
                    for (var key in init)
                        image[key] = init[key];
                    image.onerror = reject;
                    image.onload = function () {
                        resolve(image);
                    };
                    image.src = input;
                });
            };
        },
        './node_modules/d3-fetch/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _blob_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-fetch/src/blob.js');
            __webpack_require__.d(__webpack_exports__, 'blob', function () {
                return _blob_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _buffer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-fetch/src/buffer.js');
            __webpack_require__.d(__webpack_exports__, 'buffer', function () {
                return _buffer_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _dsv_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-fetch/src/dsv.js');
            __webpack_require__.d(__webpack_exports__, 'dsv', function () {
                return _dsv_js__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'csv', function () {
                return _dsv_js__WEBPACK_IMPORTED_MODULE_2__['csv'];
            });
            __webpack_require__.d(__webpack_exports__, 'tsv', function () {
                return _dsv_js__WEBPACK_IMPORTED_MODULE_2__['tsv'];
            });
            var _image_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-fetch/src/image.js');
            __webpack_require__.d(__webpack_exports__, 'image', function () {
                return _image_js__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
            var _json_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-fetch/src/json.js');
            __webpack_require__.d(__webpack_exports__, 'json', function () {
                return _json_js__WEBPACK_IMPORTED_MODULE_4__['default'];
            });
            var _text_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-fetch/src/text.js');
            __webpack_require__.d(__webpack_exports__, 'text', function () {
                return _text_js__WEBPACK_IMPORTED_MODULE_5__['default'];
            });
            var _xml_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-fetch/src/xml.js');
            __webpack_require__.d(__webpack_exports__, 'xml', function () {
                return _xml_js__WEBPACK_IMPORTED_MODULE_6__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'html', function () {
                return _xml_js__WEBPACK_IMPORTED_MODULE_6__['html'];
            });
            __webpack_require__.d(__webpack_exports__, 'svg', function () {
                return _xml_js__WEBPACK_IMPORTED_MODULE_6__['svg'];
            });
        },
        './node_modules/d3-fetch/src/json.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function responseJson(response) {
                if (!response.ok)
                    throw new Error(response.status + ' ' + response.statusText);
                if (response.status === 204 || response.status === 205)
                    return;
                return response.json();
            }
            __webpack_exports__['default'] = function (input, init) {
                return fetch(input, init).then(responseJson);
            };
        },
        './node_modules/d3-fetch/src/text.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function responseText(response) {
                if (!response.ok)
                    throw new Error(response.status + ' ' + response.statusText);
                return response.text();
            }
            __webpack_exports__['default'] = function (input, init) {
                return fetch(input, init).then(responseText);
            };
        },
        './node_modules/d3-fetch/src/xml.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'html', function () {
                return html;
            });
            __webpack_require__.d(__webpack_exports__, 'svg', function () {
                return svg;
            });
            var _text_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-fetch/src/text.js');
            function parser(type) {
                return function (input, init) {
                    return Object(_text_js__WEBPACK_IMPORTED_MODULE_0__['default'])(input, init).then(function (text) {
                        return new DOMParser().parseFromString(text, type);
                    });
                };
            }
            __webpack_exports__['default'] = parser('application/xml');
            var html = parser('text/html');
            var svg = parser('image/svg+xml');
        },
        './node_modules/d3-force/src/center.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x, y) {
                var nodes;
                if (x == null)
                    x = 0;
                if (y == null)
                    y = 0;
                function force() {
                    var i, n = nodes.length, node, sx = 0, sy = 0;
                    for (i = 0; i < n; ++i) {
                        node = nodes[i], sx += node.x, sy += node.y;
                    }
                    for (sx = sx / n - x, sy = sy / n - y, i = 0; i < n; ++i) {
                        node = nodes[i], node.x -= sx, node.y -= sy;
                    }
                }
                force.initialize = function (_) {
                    nodes = _;
                };
                force.x = function (_) {
                    return arguments.length ? (x = +_, force) : x;
                };
                force.y = function (_) {
                    return arguments.length ? (y = +_, force) : y;
                };
                return force;
            };
        },
        './node_modules/d3-force/src/collide.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _constant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-force/src/constant.js');
            var _jiggle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-force/src/jiggle.js');
            var d3_quadtree__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-quadtree/src/index.js');
            function x(d) {
                return d.x + d.vx;
            }
            function y(d) {
                return d.y + d.vy;
            }
            __webpack_exports__['default'] = function (radius) {
                var nodes, radii, strength = 1, iterations = 1;
                if (typeof radius !== 'function')
                    radius = Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(radius == null ? 1 : +radius);
                function force() {
                    var i, n = nodes.length, tree, node, xi, yi, ri, ri2;
                    for (var k = 0; k < iterations; ++k) {
                        tree = Object(d3_quadtree__WEBPACK_IMPORTED_MODULE_2__['quadtree'])(nodes, x, y).visitAfter(prepare);
                        for (i = 0; i < n; ++i) {
                            node = nodes[i];
                            ri = radii[node.index], ri2 = ri * ri;
                            xi = node.x + node.vx;
                            yi = node.y + node.vy;
                            tree.visit(apply);
                        }
                    }
                    function apply(quad, x0, y0, x1, y1) {
                        var data = quad.data, rj = quad.r, r = ri + rj;
                        if (data) {
                            if (data.index > node.index) {
                                var x = xi - data.x - data.vx, y = yi - data.y - data.vy, l = x * x + y * y;
                                if (l < r * r) {
                                    if (x === 0)
                                        x = Object(_jiggle__WEBPACK_IMPORTED_MODULE_1__['default'])(), l += x * x;
                                    if (y === 0)
                                        y = Object(_jiggle__WEBPACK_IMPORTED_MODULE_1__['default'])(), l += y * y;
                                    l = (r - (l = Math.sqrt(l))) / l * strength;
                                    node.vx += (x *= l) * (r = (rj *= rj) / (ri2 + rj));
                                    node.vy += (y *= l) * r;
                                    data.vx -= x * (r = 1 - r);
                                    data.vy -= y * r;
                                }
                            }
                            return;
                        }
                        return x0 > xi + r || x1 < xi - r || y0 > yi + r || y1 < yi - r;
                    }
                }
                function prepare(quad) {
                    if (quad.data)
                        return quad.r = radii[quad.data.index];
                    for (var i = quad.r = 0; i < 4; ++i) {
                        if (quad[i] && quad[i].r > quad.r) {
                            quad.r = quad[i].r;
                        }
                    }
                }
                function initialize() {
                    if (!nodes)
                        return;
                    var i, n = nodes.length, node;
                    radii = new Array(n);
                    for (i = 0; i < n; ++i)
                        node = nodes[i], radii[node.index] = +radius(node, i, nodes);
                }
                force.initialize = function (_) {
                    nodes = _;
                    initialize();
                };
                force.iterations = function (_) {
                    return arguments.length ? (iterations = +_, force) : iterations;
                };
                force.strength = function (_) {
                    return arguments.length ? (strength = +_, force) : strength;
                };
                force.radius = function (_) {
                    return arguments.length ? (radius = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(+_), initialize(), force) : radius;
                };
                return force;
            };
        },
        './node_modules/d3-force/src/constant.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return function () {
                    return x;
                };
            };
        },
        './node_modules/d3-force/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _center__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-force/src/center.js');
            __webpack_require__.d(__webpack_exports__, 'forceCenter', function () {
                return _center__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _collide__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-force/src/collide.js');
            __webpack_require__.d(__webpack_exports__, 'forceCollide', function () {
                return _collide__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _link__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-force/src/link.js');
            __webpack_require__.d(__webpack_exports__, 'forceLink', function () {
                return _link__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            var _manyBody__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-force/src/manyBody.js');
            __webpack_require__.d(__webpack_exports__, 'forceManyBody', function () {
                return _manyBody__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
            var _radial__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-force/src/radial.js');
            __webpack_require__.d(__webpack_exports__, 'forceRadial', function () {
                return _radial__WEBPACK_IMPORTED_MODULE_4__['default'];
            });
            var _simulation__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-force/src/simulation.js');
            __webpack_require__.d(__webpack_exports__, 'forceSimulation', function () {
                return _simulation__WEBPACK_IMPORTED_MODULE_5__['default'];
            });
            var _x__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-force/src/x.js');
            __webpack_require__.d(__webpack_exports__, 'forceX', function () {
                return _x__WEBPACK_IMPORTED_MODULE_6__['default'];
            });
            var _y__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-force/src/y.js');
            __webpack_require__.d(__webpack_exports__, 'forceY', function () {
                return _y__WEBPACK_IMPORTED_MODULE_7__['default'];
            });
        },
        './node_modules/d3-force/src/jiggle.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
                return (Math.random() - 0.5) * 0.000001;
            };
        },
        './node_modules/d3-force/src/link.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _constant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-force/src/constant.js');
            var _jiggle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-force/src/jiggle.js');
            var d3_collection__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-collection/src/index.js');
            function index(d) {
                return d.index;
            }
            function find(nodeById, nodeId) {
                var node = nodeById.get(nodeId);
                if (!node)
                    throw new Error('missing: ' + nodeId);
                return node;
            }
            __webpack_exports__['default'] = function (links) {
                var id = index, strength = defaultStrength, strengths, distance = Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(30), distances, nodes, count, bias, iterations = 1;
                if (links == null)
                    links = [];
                function defaultStrength(link) {
                    return 1 / Math.min(count[link.source.index], count[link.target.index]);
                }
                function force(alpha) {
                    for (var k = 0, n = links.length; k < iterations; ++k) {
                        for (var i = 0, link, source, target, x, y, l, b; i < n; ++i) {
                            link = links[i], source = link.source, target = link.target;
                            x = target.x + target.vx - source.x - source.vx || Object(_jiggle__WEBPACK_IMPORTED_MODULE_1__['default'])();
                            y = target.y + target.vy - source.y - source.vy || Object(_jiggle__WEBPACK_IMPORTED_MODULE_1__['default'])();
                            l = Math.sqrt(x * x + y * y);
                            l = (l - distances[i]) / l * alpha * strengths[i];
                            x *= l, y *= l;
                            target.vx -= x * (b = bias[i]);
                            target.vy -= y * b;
                            source.vx += x * (b = 1 - b);
                            source.vy += y * b;
                        }
                    }
                }
                function initialize() {
                    if (!nodes)
                        return;
                    var i, n = nodes.length, m = links.length, nodeById = Object(d3_collection__WEBPACK_IMPORTED_MODULE_2__['map'])(nodes, id), link;
                    for (i = 0, count = new Array(n); i < m; ++i) {
                        link = links[i], link.index = i;
                        if (typeof link.source !== 'object')
                            link.source = find(nodeById, link.source);
                        if (typeof link.target !== 'object')
                            link.target = find(nodeById, link.target);
                        count[link.source.index] = (count[link.source.index] || 0) + 1;
                        count[link.target.index] = (count[link.target.index] || 0) + 1;
                    }
                    for (i = 0, bias = new Array(m); i < m; ++i) {
                        link = links[i], bias[i] = count[link.source.index] / (count[link.source.index] + count[link.target.index]);
                    }
                    strengths = new Array(m), initializeStrength();
                    distances = new Array(m), initializeDistance();
                }
                function initializeStrength() {
                    if (!nodes)
                        return;
                    for (var i = 0, n = links.length; i < n; ++i) {
                        strengths[i] = +strength(links[i], i, links);
                    }
                }
                function initializeDistance() {
                    if (!nodes)
                        return;
                    for (var i = 0, n = links.length; i < n; ++i) {
                        distances[i] = +distance(links[i], i, links);
                    }
                }
                force.initialize = function (_) {
                    nodes = _;
                    initialize();
                };
                force.links = function (_) {
                    return arguments.length ? (links = _, initialize(), force) : links;
                };
                force.id = function (_) {
                    return arguments.length ? (id = _, force) : id;
                };
                force.iterations = function (_) {
                    return arguments.length ? (iterations = +_, force) : iterations;
                };
                force.strength = function (_) {
                    return arguments.length ? (strength = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(+_), initializeStrength(), force) : strength;
                };
                force.distance = function (_) {
                    return arguments.length ? (distance = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(+_), initializeDistance(), force) : distance;
                };
                return force;
            };
        },
        './node_modules/d3-force/src/manyBody.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _constant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-force/src/constant.js');
            var _jiggle__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-force/src/jiggle.js');
            var d3_quadtree__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-quadtree/src/index.js');
            var _simulation__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-force/src/simulation.js');
            __webpack_exports__['default'] = function () {
                var nodes, node, alpha, strength = Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(-30), strengths, distanceMin2 = 1, distanceMax2 = Infinity, theta2 = 0.81;
                function force(_) {
                    var i, n = nodes.length, tree = Object(d3_quadtree__WEBPACK_IMPORTED_MODULE_2__['quadtree'])(nodes, _simulation__WEBPACK_IMPORTED_MODULE_3__['x'], _simulation__WEBPACK_IMPORTED_MODULE_3__['y']).visitAfter(accumulate);
                    for (alpha = _, i = 0; i < n; ++i)
                        node = nodes[i], tree.visit(apply);
                }
                function initialize() {
                    if (!nodes)
                        return;
                    var i, n = nodes.length, node;
                    strengths = new Array(n);
                    for (i = 0; i < n; ++i)
                        node = nodes[i], strengths[node.index] = +strength(node, i, nodes);
                }
                function accumulate(quad) {
                    var strength = 0, q, c, weight = 0, x, y, i;
                    if (quad.length) {
                        for (x = y = i = 0; i < 4; ++i) {
                            if ((q = quad[i]) && (c = Math.abs(q.value))) {
                                strength += q.value, weight += c, x += c * q.x, y += c * q.y;
                            }
                        }
                        quad.x = x / weight;
                        quad.y = y / weight;
                    } else {
                        q = quad;
                        q.x = q.data.x;
                        q.y = q.data.y;
                        do
                            strength += strengths[q.data.index];
                        while (q = q.next);
                    }
                    quad.value = strength;
                }
                function apply(quad, x1, _, x2) {
                    if (!quad.value)
                        return true;
                    var x = quad.x - node.x, y = quad.y - node.y, w = x2 - x1, l = x * x + y * y;
                    if (w * w / theta2 < l) {
                        if (l < distanceMax2) {
                            if (x === 0)
                                x = Object(_jiggle__WEBPACK_IMPORTED_MODULE_1__['default'])(), l += x * x;
                            if (y === 0)
                                y = Object(_jiggle__WEBPACK_IMPORTED_MODULE_1__['default'])(), l += y * y;
                            if (l < distanceMin2)
                                l = Math.sqrt(distanceMin2 * l);
                            node.vx += x * quad.value * alpha / l;
                            node.vy += y * quad.value * alpha / l;
                        }
                        return true;
                    } else if (quad.length || l >= distanceMax2)
                        return;
                    if (quad.data !== node || quad.next) {
                        if (x === 0)
                            x = Object(_jiggle__WEBPACK_IMPORTED_MODULE_1__['default'])(), l += x * x;
                        if (y === 0)
                            y = Object(_jiggle__WEBPACK_IMPORTED_MODULE_1__['default'])(), l += y * y;
                        if (l < distanceMin2)
                            l = Math.sqrt(distanceMin2 * l);
                    }
                    do
                        if (quad.data !== node) {
                            w = strengths[quad.data.index] * alpha / l;
                            node.vx += x * w;
                            node.vy += y * w;
                        }
                    while (quad = quad.next);
                }
                force.initialize = function (_) {
                    nodes = _;
                    initialize();
                };
                force.strength = function (_) {
                    return arguments.length ? (strength = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(+_), initialize(), force) : strength;
                };
                force.distanceMin = function (_) {
                    return arguments.length ? (distanceMin2 = _ * _, force) : Math.sqrt(distanceMin2);
                };
                force.distanceMax = function (_) {
                    return arguments.length ? (distanceMax2 = _ * _, force) : Math.sqrt(distanceMax2);
                };
                force.theta = function (_) {
                    return arguments.length ? (theta2 = _ * _, force) : Math.sqrt(theta2);
                };
                return force;
            };
        },
        './node_modules/d3-force/src/radial.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _constant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-force/src/constant.js');
            __webpack_exports__['default'] = function (radius, x, y) {
                var nodes, strength = Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(0.1), strengths, radiuses;
                if (typeof radius !== 'function')
                    radius = Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(+radius);
                if (x == null)
                    x = 0;
                if (y == null)
                    y = 0;
                function force(alpha) {
                    for (var i = 0, n = nodes.length; i < n; ++i) {
                        var node = nodes[i], dx = node.x - x || 0.000001, dy = node.y - y || 0.000001, r = Math.sqrt(dx * dx + dy * dy), k = (radiuses[i] - r) * strengths[i] * alpha / r;
                        node.vx += dx * k;
                        node.vy += dy * k;
                    }
                }
                function initialize() {
                    if (!nodes)
                        return;
                    var i, n = nodes.length;
                    strengths = new Array(n);
                    radiuses = new Array(n);
                    for (i = 0; i < n; ++i) {
                        radiuses[i] = +radius(nodes[i], i, nodes);
                        strengths[i] = isNaN(radiuses[i]) ? 0 : +strength(nodes[i], i, nodes);
                    }
                }
                force.initialize = function (_) {
                    nodes = _, initialize();
                };
                force.strength = function (_) {
                    return arguments.length ? (strength = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(+_), initialize(), force) : strength;
                };
                force.radius = function (_) {
                    return arguments.length ? (radius = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(+_), initialize(), force) : radius;
                };
                force.x = function (_) {
                    return arguments.length ? (x = +_, force) : x;
                };
                force.y = function (_) {
                    return arguments.length ? (y = +_, force) : y;
                };
                return force;
            };
        },
        './node_modules/d3-force/src/simulation.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'x', function () {
                return x;
            });
            __webpack_require__.d(__webpack_exports__, 'y', function () {
                return y;
            });
            var d3_dispatch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-dispatch/src/index.js');
            var d3_collection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-collection/src/index.js');
            var d3_timer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-timer/src/index.js');
            function x(d) {
                return d.x;
            }
            function y(d) {
                return d.y;
            }
            var initialRadius = 10, initialAngle = Math.PI * (3 - Math.sqrt(5));
            __webpack_exports__['default'] = function (nodes) {
                var simulation, alpha = 1, alphaMin = 0.001, alphaDecay = 1 - Math.pow(alphaMin, 1 / 300), alphaTarget = 0, velocityDecay = 0.6, forces = Object(d3_collection__WEBPACK_IMPORTED_MODULE_1__['map'])(), stepper = Object(d3_timer__WEBPACK_IMPORTED_MODULE_2__['timer'])(step), event = Object(d3_dispatch__WEBPACK_IMPORTED_MODULE_0__['dispatch'])('tick', 'end');
                if (nodes == null)
                    nodes = [];
                function step() {
                    tick();
                    event.call('tick', simulation);
                    if (alpha < alphaMin) {
                        stepper.stop();
                        event.call('end', simulation);
                    }
                }
                function tick(iterations) {
                    var i, n = nodes.length, node;
                    if (iterations === undefined)
                        iterations = 1;
                    for (var k = 0; k < iterations; ++k) {
                        alpha += (alphaTarget - alpha) * alphaDecay;
                        forces.each(function (force) {
                            force(alpha);
                        });
                        for (i = 0; i < n; ++i) {
                            node = nodes[i];
                            if (node.fx == null)
                                node.x += node.vx *= velocityDecay;
                            else
                                node.x = node.fx, node.vx = 0;
                            if (node.fy == null)
                                node.y += node.vy *= velocityDecay;
                            else
                                node.y = node.fy, node.vy = 0;
                        }
                    }
                    return simulation;
                }
                function initializeNodes() {
                    for (var i = 0, n = nodes.length, node; i < n; ++i) {
                        node = nodes[i], node.index = i;
                        if (node.fx != null)
                            node.x = node.fx;
                        if (node.fy != null)
                            node.y = node.fy;
                        if (isNaN(node.x) || isNaN(node.y)) {
                            var radius = initialRadius * Math.sqrt(i), angle = i * initialAngle;
                            node.x = radius * Math.cos(angle);
                            node.y = radius * Math.sin(angle);
                        }
                        if (isNaN(node.vx) || isNaN(node.vy)) {
                            node.vx = node.vy = 0;
                        }
                    }
                }
                function initializeForce(force) {
                    if (force.initialize)
                        force.initialize(nodes);
                    return force;
                }
                initializeNodes();
                return simulation = {
                    tick: tick,
                    restart: function () {
                        return stepper.restart(step), simulation;
                    },
                    stop: function () {
                        return stepper.stop(), simulation;
                    },
                    nodes: function (_) {
                        return arguments.length ? (nodes = _, initializeNodes(), forces.each(initializeForce), simulation) : nodes;
                    },
                    alpha: function (_) {
                        return arguments.length ? (alpha = +_, simulation) : alpha;
                    },
                    alphaMin: function (_) {
                        return arguments.length ? (alphaMin = +_, simulation) : alphaMin;
                    },
                    alphaDecay: function (_) {
                        return arguments.length ? (alphaDecay = +_, simulation) : +alphaDecay;
                    },
                    alphaTarget: function (_) {
                        return arguments.length ? (alphaTarget = +_, simulation) : alphaTarget;
                    },
                    velocityDecay: function (_) {
                        return arguments.length ? (velocityDecay = 1 - _, simulation) : 1 - velocityDecay;
                    },
                    force: function (name, _) {
                        return arguments.length > 1 ? (_ == null ? forces.remove(name) : forces.set(name, initializeForce(_)), simulation) : forces.get(name);
                    },
                    find: function (x, y, radius) {
                        var i = 0, n = nodes.length, dx, dy, d2, node, closest;
                        if (radius == null)
                            radius = Infinity;
                        else
                            radius *= radius;
                        for (i = 0; i < n; ++i) {
                            node = nodes[i];
                            dx = x - node.x;
                            dy = y - node.y;
                            d2 = dx * dx + dy * dy;
                            if (d2 < radius)
                                closest = node, radius = d2;
                        }
                        return closest;
                    },
                    on: function (name, _) {
                        return arguments.length > 1 ? (event.on(name, _), simulation) : event.on(name);
                    }
                };
            };
        },
        './node_modules/d3-force/src/x.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _constant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-force/src/constant.js');
            __webpack_exports__['default'] = function (x) {
                var strength = Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(0.1), nodes, strengths, xz;
                if (typeof x !== 'function')
                    x = Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(x == null ? 0 : +x);
                function force(alpha) {
                    for (var i = 0, n = nodes.length, node; i < n; ++i) {
                        node = nodes[i], node.vx += (xz[i] - node.x) * strengths[i] * alpha;
                    }
                }
                function initialize() {
                    if (!nodes)
                        return;
                    var i, n = nodes.length;
                    strengths = new Array(n);
                    xz = new Array(n);
                    for (i = 0; i < n; ++i) {
                        strengths[i] = isNaN(xz[i] = +x(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);
                    }
                }
                force.initialize = function (_) {
                    nodes = _;
                    initialize();
                };
                force.strength = function (_) {
                    return arguments.length ? (strength = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(+_), initialize(), force) : strength;
                };
                force.x = function (_) {
                    return arguments.length ? (x = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(+_), initialize(), force) : x;
                };
                return force;
            };
        },
        './node_modules/d3-force/src/y.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _constant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-force/src/constant.js');
            __webpack_exports__['default'] = function (y) {
                var strength = Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(0.1), nodes, strengths, yz;
                if (typeof y !== 'function')
                    y = Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(y == null ? 0 : +y);
                function force(alpha) {
                    for (var i = 0, n = nodes.length, node; i < n; ++i) {
                        node = nodes[i], node.vy += (yz[i] - node.y) * strengths[i] * alpha;
                    }
                }
                function initialize() {
                    if (!nodes)
                        return;
                    var i, n = nodes.length;
                    strengths = new Array(n);
                    yz = new Array(n);
                    for (i = 0; i < n; ++i) {
                        strengths[i] = isNaN(yz[i] = +y(nodes[i], i, nodes)) ? 0 : +strength(nodes[i], i, nodes);
                    }
                }
                force.initialize = function (_) {
                    nodes = _;
                    initialize();
                };
                force.strength = function (_) {
                    return arguments.length ? (strength = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(+_), initialize(), force) : strength;
                };
                force.y = function (_) {
                    return arguments.length ? (y = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(+_), initialize(), force) : y;
                };
                return force;
            };
        },
        './node_modules/d3-format/src/defaultLocale.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'format', function () {
                return format;
            });
            __webpack_require__.d(__webpack_exports__, 'formatPrefix', function () {
                return formatPrefix;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return defaultLocale;
            });
            var _locale_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-format/src/locale.js');
            var locale;
            var format;
            var formatPrefix;
            defaultLocale({
                decimal: '.',
                thousands: ',',
                grouping: [3],
                currency: [
                    '$',
                    ''
                ],
                minus: '-'
            });
            function defaultLocale(definition) {
                locale = Object(_locale_js__WEBPACK_IMPORTED_MODULE_0__['default'])(definition);
                format = locale.format;
                formatPrefix = locale.formatPrefix;
                return locale;
            }
        },
        './node_modules/d3-format/src/exponent.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _formatDecimal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-format/src/formatDecimal.js');
            __webpack_exports__['default'] = function (x) {
                return x = Object(_formatDecimal_js__WEBPACK_IMPORTED_MODULE_0__['formatDecimalParts'])(Math.abs(x)), x ? x[1] : NaN;
            };
        },
        './node_modules/d3-format/src/formatDecimal.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'formatDecimalParts', function () {
                return formatDecimalParts;
            });
            __webpack_exports__['default'] = function (x) {
                return Math.abs(x = Math.round(x)) >= 1e+21 ? x.toLocaleString('en').replace(/,/g, '') : x.toString(10);
            };
            function formatDecimalParts(x, p) {
                if ((i = (x = p ? x.toExponential(p - 1) : x.toExponential()).indexOf('e')) < 0)
                    return null;
                var i, coefficient = x.slice(0, i);
                return [
                    coefficient.length > 1 ? coefficient[0] + coefficient.slice(2) : coefficient,
                    +x.slice(i + 1)
                ];
            }
        },
        './node_modules/d3-format/src/formatGroup.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (numerals) {
                return function (value) {
                    return value.replace(/[0-9]/g, function (i) {
                        return numerals[+i];
                    });
                };
            };
        },
        './node_modules/d3-format/src/formatPrefixAuto.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'prefixExponent', function () {
                return prefixExponent;
            });
            var _formatDecimal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-format/src/formatDecimal.js');
            var prefixExponent;
            __webpack_exports__['default'] = function (x, p) {
                var d = Object(_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') + Object(_formatDecimal_js__WEBPACK_IMPORTED_MODULE_0__['formatDecimalParts'])(x, Math.max(0, p + i - 1))[0];
            };
        },
        './node_modules/d3-format/src/formatRounded.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _formatDecimal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-format/src/formatDecimal.js');
            __webpack_exports__['default'] = function (x, p) {
                var d = Object(_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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return formatSpecifier;
            });
            __webpack_require__.d(__webpack_exports__, 'FormatSpecifier', function () {
                return FormatSpecifier;
            });
            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;
            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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _formatDecimal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-format/src/formatDecimal.js');
            var _formatPrefixAuto_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-format/src/formatPrefixAuto.js');
            var _formatRounded_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-format/src/formatRounded.js');
            __webpack_exports__['default'] = {
                '%': 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 Object(_formatRounded_js__WEBPACK_IMPORTED_MODULE_2__['default'])(x * 100, p);
                },
                'r': _formatRounded_js__WEBPACK_IMPORTED_MODULE_2__['default'],
                's': _formatPrefixAuto_js__WEBPACK_IMPORTED_MODULE_1__['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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return x;
            };
        },
        './node_modules/d3-format/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _defaultLocale_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-format/src/defaultLocale.js');
            __webpack_require__.d(__webpack_exports__, 'formatDefaultLocale', function () {
                return _defaultLocale_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'format', function () {
                return _defaultLocale_js__WEBPACK_IMPORTED_MODULE_0__['format'];
            });
            __webpack_require__.d(__webpack_exports__, 'formatPrefix', function () {
                return _defaultLocale_js__WEBPACK_IMPORTED_MODULE_0__['formatPrefix'];
            });
            var _locale_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-format/src/locale.js');
            __webpack_require__.d(__webpack_exports__, 'formatLocale', function () {
                return _locale_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _formatSpecifier_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-format/src/formatSpecifier.js');
            __webpack_require__.d(__webpack_exports__, 'formatSpecifier', function () {
                return _formatSpecifier_js__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'FormatSpecifier', function () {
                return _formatSpecifier_js__WEBPACK_IMPORTED_MODULE_2__['FormatSpecifier'];
            });
            var _precisionFixed_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-format/src/precisionFixed.js');
            __webpack_require__.d(__webpack_exports__, 'precisionFixed', function () {
                return _precisionFixed_js__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
            var _precisionPrefix_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-format/src/precisionPrefix.js');
            __webpack_require__.d(__webpack_exports__, 'precisionPrefix', function () {
                return _precisionPrefix_js__WEBPACK_IMPORTED_MODULE_4__['default'];
            });
            var _precisionRound_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-format/src/precisionRound.js');
            __webpack_require__.d(__webpack_exports__, 'precisionRound', function () {
                return _precisionRound_js__WEBPACK_IMPORTED_MODULE_5__['default'];
            });
        },
        './node_modules/d3-format/src/locale.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _exponent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-format/src/exponent.js');
            var _formatGroup_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-format/src/formatGroup.js');
            var _formatNumerals_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-format/src/formatNumerals.js');
            var _formatSpecifier_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-format/src/formatSpecifier.js');
            var _formatTrim_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-format/src/formatTrim.js');
            var _formatTypes_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-format/src/formatTypes.js');
            var _formatPrefixAuto_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-format/src/formatPrefixAuto.js');
            var _identity_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./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'
                ];
            __webpack_exports__['default'] = function (locale) {
                var group = locale.grouping === undefined || locale.thousands === undefined ? _identity_js__WEBPACK_IMPORTED_MODULE_7__['default'] : Object(_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_7__['default'] : Object(_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 = Object(_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;
                    if (type === 'n')
                        comma = true, type = 'g';
                    else if (!_formatTypes_js__WEBPACK_IMPORTED_MODULE_5__['default'][type])
                        precision === undefined && (precision = 12), trim = true, type = 'g';
                    if (zero || fill === '0' && align === '=')
                        zero = true, fill = '0', align = '=';
                    var prefix = symbol === '$' ? currencyPrefix : symbol === '#' && /[boxX]/.test(type) ? '0' + type.toLowerCase() : '', suffix = symbol === '$' ? currencySuffix : /[%p]/.test(type) ? percent : '';
                    var formatType = _formatTypes_js__WEBPACK_IMPORTED_MODULE_5__['default'][type], maybeSuffix = /[defgprs%]/.test(type);
                    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;
                            var valueNegative = value < 0 || 1 / value < 0;
                            value = isNaN(value) ? nan : formatType(Math.abs(value), precision);
                            if (trim)
                                value = Object(_formatTrim_js__WEBPACK_IMPORTED_MODULE_4__['default'])(value);
                            if (valueNegative && +value === 0 && sign !== '+')
                                valueNegative = false;
                            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 === '(' ? ')' : '');
                            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 (comma && !zero)
                            value = group(value, Infinity);
                        var length = valuePrefix.length + value.length + valueSuffix.length, padding = length < width ? new Array(width - length + 1).join(fill) : '';
                        if (comma && zero)
                            value = group(padding + value, padding.length ? width - valueSuffix.length : Infinity), padding = '';
                        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 = Object(_formatSpecifier_js__WEBPACK_IMPORTED_MODULE_3__['default'])(specifier), specifier.type = 'f', specifier)), e = Math.max(-8, Math.min(8, Math.floor(Object(_exponent_js__WEBPACK_IMPORTED_MODULE_0__['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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _exponent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-format/src/exponent.js');
            __webpack_exports__['default'] = function (step) {
                return Math.max(0, -Object(_exponent_js__WEBPACK_IMPORTED_MODULE_0__['default'])(Math.abs(step)));
            };
        },
        './node_modules/d3-format/src/precisionPrefix.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _exponent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-format/src/exponent.js');
            __webpack_exports__['default'] = function (step, value) {
                return Math.max(0, Math.max(-8, Math.min(8, Math.floor(Object(_exponent_js__WEBPACK_IMPORTED_MODULE_0__['default'])(value) / 3))) * 3 - Object(_exponent_js__WEBPACK_IMPORTED_MODULE_0__['default'])(Math.abs(step)));
            };
        },
        './node_modules/d3-format/src/precisionRound.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _exponent_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-format/src/exponent.js');
            __webpack_exports__['default'] = function (step, max) {
                step = Math.abs(step), max = Math.abs(max) - step;
                return Math.max(0, Object(_exponent_js__WEBPACK_IMPORTED_MODULE_0__['default'])(max) - Object(_exponent_js__WEBPACK_IMPORTED_MODULE_0__['default'])(step)) + 1;
            };
        },
        './node_modules/d3-geo/src/adder.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
                return new Adder();
            };
            function Adder() {
                this.reset();
            }
            Adder.prototype = {
                constructor: Adder,
                reset: function () {
                    this.s = this.t = 0;
                },
                add: function (y) {
                    add(temp, y, this.t);
                    add(this, temp.s, this.s);
                    if (this.s)
                        this.t += temp.t;
                    else
                        this.s = temp.t;
                },
                valueOf: function () {
                    return this.s;
                }
            };
            var temp = new Adder();
            function add(adder, a, b) {
                var x = adder.s = a + b, bv = x - a, av = x - bv;
                adder.t = a - av + (b - bv);
            }
        },
        './node_modules/d3-geo/src/area.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'areaRingSum', function () {
                return areaRingSum;
            });
            __webpack_require__.d(__webpack_exports__, 'areaStream', function () {
                return areaStream;
            });
            var _adder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/adder.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _noop_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/noop.js');
            var _stream_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-geo/src/stream.js');
            var areaRingSum = Object(_adder_js__WEBPACK_IMPORTED_MODULE_0__['default'])();
            var areaSum = Object(_adder_js__WEBPACK_IMPORTED_MODULE_0__['default'])(), lambda00, phi00, lambda0, cosPhi0, sinPhi0;
            var areaStream = {
                point: _noop_js__WEBPACK_IMPORTED_MODULE_2__['default'],
                lineStart: _noop_js__WEBPACK_IMPORTED_MODULE_2__['default'],
                lineEnd: _noop_js__WEBPACK_IMPORTED_MODULE_2__['default'],
                polygonStart: function () {
                    areaRingSum.reset();
                    areaStream.lineStart = areaRingStart;
                    areaStream.lineEnd = areaRingEnd;
                },
                polygonEnd: function () {
                    var areaRing = +areaRingSum;
                    areaSum.add(areaRing < 0 ? _math_js__WEBPACK_IMPORTED_MODULE_1__['tau'] + areaRing : areaRing);
                    this.lineStart = this.lineEnd = this.point = _noop_js__WEBPACK_IMPORTED_MODULE_2__['default'];
                },
                sphere: function () {
                    areaSum.add(_math_js__WEBPACK_IMPORTED_MODULE_1__['tau']);
                }
            };
            function areaRingStart() {
                areaStream.point = areaPointFirst;
            }
            function areaRingEnd() {
                areaPoint(lambda00, phi00);
            }
            function areaPointFirst(lambda, phi) {
                areaStream.point = areaPoint;
                lambda00 = lambda, phi00 = phi;
                lambda *= _math_js__WEBPACK_IMPORTED_MODULE_1__['radians'], phi *= _math_js__WEBPACK_IMPORTED_MODULE_1__['radians'];
                lambda0 = lambda, cosPhi0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(phi = phi / 2 + _math_js__WEBPACK_IMPORTED_MODULE_1__['quarterPi']), sinPhi0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(phi);
            }
            function areaPoint(lambda, phi) {
                lambda *= _math_js__WEBPACK_IMPORTED_MODULE_1__['radians'], phi *= _math_js__WEBPACK_IMPORTED_MODULE_1__['radians'];
                phi = phi / 2 + _math_js__WEBPACK_IMPORTED_MODULE_1__['quarterPi'];
                var dLambda = lambda - lambda0, sdLambda = dLambda >= 0 ? 1 : -1, adLambda = sdLambda * dLambda, cosPhi = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(phi), sinPhi = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(phi), k = sinPhi0 * sinPhi, u = cosPhi0 * cosPhi + k * Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(adLambda), v = k * sdLambda * Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(adLambda);
                areaRingSum.add(Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['atan2'])(v, u));
                lambda0 = lambda, cosPhi0 = cosPhi, sinPhi0 = sinPhi;
            }
            __webpack_exports__['default'] = function (object) {
                areaSum.reset();
                Object(_stream_js__WEBPACK_IMPORTED_MODULE_3__['default'])(object, areaStream);
                return areaSum * 2;
            };
        },
        './node_modules/d3-geo/src/bounds.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _adder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/adder.js');
            var _area_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/area.js');
            var _cartesian_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/cartesian.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _stream_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-geo/src/stream.js');
            var lambda0, phi0, lambda1, phi1, lambda2, lambda00, phi00, p0, deltaSum = Object(_adder_js__WEBPACK_IMPORTED_MODULE_0__['default'])(), ranges, range;
            var boundsStream = {
                point: boundsPoint,
                lineStart: boundsLineStart,
                lineEnd: boundsLineEnd,
                polygonStart: function () {
                    boundsStream.point = boundsRingPoint;
                    boundsStream.lineStart = boundsRingStart;
                    boundsStream.lineEnd = boundsRingEnd;
                    deltaSum.reset();
                    _area_js__WEBPACK_IMPORTED_MODULE_1__['areaStream'].polygonStart();
                },
                polygonEnd: function () {
                    _area_js__WEBPACK_IMPORTED_MODULE_1__['areaStream'].polygonEnd();
                    boundsStream.point = boundsPoint;
                    boundsStream.lineStart = boundsLineStart;
                    boundsStream.lineEnd = boundsLineEnd;
                    if (_area_js__WEBPACK_IMPORTED_MODULE_1__['areaRingSum'] < 0)
                        lambda0 = -(lambda1 = 180), phi0 = -(phi1 = 90);
                    else if (deltaSum > _math_js__WEBPACK_IMPORTED_MODULE_3__['epsilon'])
                        phi1 = 90;
                    else if (deltaSum < -_math_js__WEBPACK_IMPORTED_MODULE_3__['epsilon'])
                        phi0 = -90;
                    range[0] = lambda0, range[1] = lambda1;
                },
                sphere: function () {
                    lambda0 = -(lambda1 = 180), phi0 = -(phi1 = 90);
                }
            };
            function boundsPoint(lambda, phi) {
                ranges.push(range = [
                    lambda0 = lambda,
                    lambda1 = lambda
                ]);
                if (phi < phi0)
                    phi0 = phi;
                if (phi > phi1)
                    phi1 = phi;
            }
            function linePoint(lambda, phi) {
                var p = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_2__['cartesian'])([
                    lambda * _math_js__WEBPACK_IMPORTED_MODULE_3__['radians'],
                    phi * _math_js__WEBPACK_IMPORTED_MODULE_3__['radians']
                ]);
                if (p0) {
                    var normal = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_2__['cartesianCross'])(p0, p), equatorial = [
                            normal[1],
                            -normal[0],
                            0
                        ], inflection = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_2__['cartesianCross'])(equatorial, normal);
                    Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_2__['cartesianNormalizeInPlace'])(inflection);
                    inflection = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_2__['spherical'])(inflection);
                    var delta = lambda - lambda2, sign = delta > 0 ? 1 : -1, lambdai = inflection[0] * _math_js__WEBPACK_IMPORTED_MODULE_3__['degrees'] * sign, phii, antimeridian = Object(_math_js__WEBPACK_IMPORTED_MODULE_3__['abs'])(delta) > 180;
                    if (antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {
                        phii = inflection[1] * _math_js__WEBPACK_IMPORTED_MODULE_3__['degrees'];
                        if (phii > phi1)
                            phi1 = phii;
                    } else if (lambdai = (lambdai + 360) % 360 - 180, antimeridian ^ (sign * lambda2 < lambdai && lambdai < sign * lambda)) {
                        phii = -inflection[1] * _math_js__WEBPACK_IMPORTED_MODULE_3__['degrees'];
                        if (phii < phi0)
                            phi0 = phii;
                    } else {
                        if (phi < phi0)
                            phi0 = phi;
                        if (phi > phi1)
                            phi1 = phi;
                    }
                    if (antimeridian) {
                        if (lambda < lambda2) {
                            if (angle(lambda0, lambda) > angle(lambda0, lambda1))
                                lambda1 = lambda;
                        } else {
                            if (angle(lambda, lambda1) > angle(lambda0, lambda1))
                                lambda0 = lambda;
                        }
                    } else {
                        if (lambda1 >= lambda0) {
                            if (lambda < lambda0)
                                lambda0 = lambda;
                            if (lambda > lambda1)
                                lambda1 = lambda;
                        } else {
                            if (lambda > lambda2) {
                                if (angle(lambda0, lambda) > angle(lambda0, lambda1))
                                    lambda1 = lambda;
                            } else {
                                if (angle(lambda, lambda1) > angle(lambda0, lambda1))
                                    lambda0 = lambda;
                            }
                        }
                    }
                } else {
                    ranges.push(range = [
                        lambda0 = lambda,
                        lambda1 = lambda
                    ]);
                }
                if (phi < phi0)
                    phi0 = phi;
                if (phi > phi1)
                    phi1 = phi;
                p0 = p, lambda2 = lambda;
            }
            function boundsLineStart() {
                boundsStream.point = linePoint;
            }
            function boundsLineEnd() {
                range[0] = lambda0, range[1] = lambda1;
                boundsStream.point = boundsPoint;
                p0 = null;
            }
            function boundsRingPoint(lambda, phi) {
                if (p0) {
                    var delta = lambda - lambda2;
                    deltaSum.add(Object(_math_js__WEBPACK_IMPORTED_MODULE_3__['abs'])(delta) > 180 ? delta + (delta > 0 ? 360 : -360) : delta);
                } else {
                    lambda00 = lambda, phi00 = phi;
                }
                _area_js__WEBPACK_IMPORTED_MODULE_1__['areaStream'].point(lambda, phi);
                linePoint(lambda, phi);
            }
            function boundsRingStart() {
                _area_js__WEBPACK_IMPORTED_MODULE_1__['areaStream'].lineStart();
            }
            function boundsRingEnd() {
                boundsRingPoint(lambda00, phi00);
                _area_js__WEBPACK_IMPORTED_MODULE_1__['areaStream'].lineEnd();
                if (Object(_math_js__WEBPACK_IMPORTED_MODULE_3__['abs'])(deltaSum) > _math_js__WEBPACK_IMPORTED_MODULE_3__['epsilon'])
                    lambda0 = -(lambda1 = 180);
                range[0] = lambda0, range[1] = lambda1;
                p0 = null;
            }
            function angle(lambda0, lambda1) {
                return (lambda1 -= lambda0) < 0 ? lambda1 + 360 : lambda1;
            }
            function rangeCompare(a, b) {
                return a[0] - b[0];
            }
            function rangeContains(range, x) {
                return range[0] <= range[1] ? range[0] <= x && x <= range[1] : x < range[0] || range[1] < x;
            }
            __webpack_exports__['default'] = function (feature) {
                var i, n, a, b, merged, deltaMax, delta;
                phi1 = lambda1 = -(lambda0 = phi0 = Infinity);
                ranges = [];
                Object(_stream_js__WEBPACK_IMPORTED_MODULE_4__['default'])(feature, boundsStream);
                if (n = ranges.length) {
                    ranges.sort(rangeCompare);
                    for (i = 1, a = ranges[0], merged = [a]; i < n; ++i) {
                        b = ranges[i];
                        if (rangeContains(a, b[0]) || rangeContains(a, b[1])) {
                            if (angle(a[0], b[1]) > angle(a[0], a[1]))
                                a[1] = b[1];
                            if (angle(b[0], a[1]) > angle(a[0], a[1]))
                                a[0] = b[0];
                        } else {
                            merged.push(a = b);
                        }
                    }
                    for (deltaMax = -Infinity, n = merged.length - 1, i = 0, a = merged[n]; i <= n; a = b, ++i) {
                        b = merged[i];
                        if ((delta = angle(a[1], b[0])) > deltaMax)
                            deltaMax = delta, lambda0 = b[0], lambda1 = a[1];
                    }
                }
                ranges = range = null;
                return lambda0 === Infinity || phi0 === Infinity ? [
                    [
                        NaN,
                        NaN
                    ],
                    [
                        NaN,
                        NaN
                    ]
                ] : [
                    [
                        lambda0,
                        phi0
                    ],
                    [
                        lambda1,
                        phi1
                    ]
                ];
            };
        },
        './node_modules/d3-geo/src/cartesian.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'spherical', function () {
                return spherical;
            });
            __webpack_require__.d(__webpack_exports__, 'cartesian', function () {
                return cartesian;
            });
            __webpack_require__.d(__webpack_exports__, 'cartesianDot', function () {
                return cartesianDot;
            });
            __webpack_require__.d(__webpack_exports__, 'cartesianCross', function () {
                return cartesianCross;
            });
            __webpack_require__.d(__webpack_exports__, 'cartesianAddInPlace', function () {
                return cartesianAddInPlace;
            });
            __webpack_require__.d(__webpack_exports__, 'cartesianScale', function () {
                return cartesianScale;
            });
            __webpack_require__.d(__webpack_exports__, 'cartesianNormalizeInPlace', function () {
                return cartesianNormalizeInPlace;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            function spherical(cartesian) {
                return [
                    Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['atan2'])(cartesian[1], cartesian[0]),
                    Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['asin'])(cartesian[2])
                ];
            }
            function cartesian(spherical) {
                var lambda = spherical[0], phi = spherical[1], cosPhi = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(phi);
                return [
                    cosPhi * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(lambda),
                    cosPhi * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(lambda),
                    Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(phi)
                ];
            }
            function cartesianDot(a, b) {
                return a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
            }
            function cartesianCross(a, b) {
                return [
                    a[1] * b[2] - a[2] * b[1],
                    a[2] * b[0] - a[0] * b[2],
                    a[0] * b[1] - a[1] * b[0]
                ];
            }
            function cartesianAddInPlace(a, b) {
                a[0] += b[0], a[1] += b[1], a[2] += b[2];
            }
            function cartesianScale(vector, k) {
                return [
                    vector[0] * k,
                    vector[1] * k,
                    vector[2] * k
                ];
            }
            function cartesianNormalizeInPlace(d) {
                var l = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sqrt'])(d[0] * d[0] + d[1] * d[1] + d[2] * d[2]);
                d[0] /= l, d[1] /= l, d[2] /= l;
            }
        },
        './node_modules/d3-geo/src/centroid.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _noop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/noop.js');
            var _stream_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/stream.js');
            var W0, W1, X0, Y0, Z0, X1, Y1, Z1, X2, Y2, Z2, lambda00, phi00, x0, y0, z0;
            var centroidStream = {
                sphere: _noop_js__WEBPACK_IMPORTED_MODULE_1__['default'],
                point: centroidPoint,
                lineStart: centroidLineStart,
                lineEnd: centroidLineEnd,
                polygonStart: function () {
                    centroidStream.lineStart = centroidRingStart;
                    centroidStream.lineEnd = centroidRingEnd;
                },
                polygonEnd: function () {
                    centroidStream.lineStart = centroidLineStart;
                    centroidStream.lineEnd = centroidLineEnd;
                }
            };
            function centroidPoint(lambda, phi) {
                lambda *= _math_js__WEBPACK_IMPORTED_MODULE_0__['radians'], phi *= _math_js__WEBPACK_IMPORTED_MODULE_0__['radians'];
                var cosPhi = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(phi);
                centroidPointCartesian(cosPhi * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(lambda), cosPhi * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(lambda), Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(phi));
            }
            function centroidPointCartesian(x, y, z) {
                ++W0;
                X0 += (x - X0) / W0;
                Y0 += (y - Y0) / W0;
                Z0 += (z - Z0) / W0;
            }
            function centroidLineStart() {
                centroidStream.point = centroidLinePointFirst;
            }
            function centroidLinePointFirst(lambda, phi) {
                lambda *= _math_js__WEBPACK_IMPORTED_MODULE_0__['radians'], phi *= _math_js__WEBPACK_IMPORTED_MODULE_0__['radians'];
                var cosPhi = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(phi);
                x0 = cosPhi * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(lambda);
                y0 = cosPhi * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(lambda);
                z0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(phi);
                centroidStream.point = centroidLinePoint;
                centroidPointCartesian(x0, y0, z0);
            }
            function centroidLinePoint(lambda, phi) {
                lambda *= _math_js__WEBPACK_IMPORTED_MODULE_0__['radians'], phi *= _math_js__WEBPACK_IMPORTED_MODULE_0__['radians'];
                var cosPhi = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(phi), x = cosPhi * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(lambda), y = cosPhi * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(lambda), z = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(phi), w = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['atan2'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sqrt'])((w = y0 * z - z0 * y) * w + (w = z0 * x - x0 * z) * w + (w = x0 * y - y0 * x) * w), x0 * x + y0 * y + z0 * z);
                W1 += w;
                X1 += w * (x0 + (x0 = x));
                Y1 += w * (y0 + (y0 = y));
                Z1 += w * (z0 + (z0 = z));
                centroidPointCartesian(x0, y0, z0);
            }
            function centroidLineEnd() {
                centroidStream.point = centroidPoint;
            }
            function centroidRingStart() {
                centroidStream.point = centroidRingPointFirst;
            }
            function centroidRingEnd() {
                centroidRingPoint(lambda00, phi00);
                centroidStream.point = centroidPoint;
            }
            function centroidRingPointFirst(lambda, phi) {
                lambda00 = lambda, phi00 = phi;
                lambda *= _math_js__WEBPACK_IMPORTED_MODULE_0__['radians'], phi *= _math_js__WEBPACK_IMPORTED_MODULE_0__['radians'];
                centroidStream.point = centroidRingPoint;
                var cosPhi = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(phi);
                x0 = cosPhi * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(lambda);
                y0 = cosPhi * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(lambda);
                z0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(phi);
                centroidPointCartesian(x0, y0, z0);
            }
            function centroidRingPoint(lambda, phi) {
                lambda *= _math_js__WEBPACK_IMPORTED_MODULE_0__['radians'], phi *= _math_js__WEBPACK_IMPORTED_MODULE_0__['radians'];
                var cosPhi = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(phi), x = cosPhi * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(lambda), y = cosPhi * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(lambda), z = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(phi), cx = y0 * z - z0 * y, cy = z0 * x - x0 * z, cz = x0 * y - y0 * x, m = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sqrt'])(cx * cx + cy * cy + cz * cz), w = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['asin'])(m), v = m && -w / m;
                X2 += v * cx;
                Y2 += v * cy;
                Z2 += v * cz;
                W1 += w;
                X1 += w * (x0 + (x0 = x));
                Y1 += w * (y0 + (y0 = y));
                Z1 += w * (z0 + (z0 = z));
                centroidPointCartesian(x0, y0, z0);
            }
            __webpack_exports__['default'] = function (object) {
                W0 = W1 = X0 = Y0 = Z0 = X1 = Y1 = Z1 = X2 = Y2 = Z2 = 0;
                Object(_stream_js__WEBPACK_IMPORTED_MODULE_2__['default'])(object, centroidStream);
                var x = X2, y = Y2, z = Z2, m = x * x + y * y + z * z;
                if (m < _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon2']) {
                    x = X1, y = Y1, z = Z1;
                    if (W1 < _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon'])
                        x = X0, y = Y0, z = Z0;
                    m = x * x + y * y + z * z;
                    if (m < _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon2'])
                        return [
                            NaN,
                            NaN
                        ];
                }
                return [
                    Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['atan2'])(y, x) * _math_js__WEBPACK_IMPORTED_MODULE_0__['degrees'],
                    Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['asin'])(z / Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sqrt'])(m)) * _math_js__WEBPACK_IMPORTED_MODULE_0__['degrees']
                ];
            };
        },
        './node_modules/d3-geo/src/circle.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'circleStream', function () {
                return circleStream;
            });
            var _cartesian_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/cartesian.js');
            var _constant_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/constant.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _rotation_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-geo/src/rotation.js');
            function circleStream(stream, radius, delta, direction, t0, t1) {
                if (!delta)
                    return;
                var cosRadius = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['cos'])(radius), sinRadius = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(radius), step = direction * delta;
                if (t0 == null) {
                    t0 = radius + direction * _math_js__WEBPACK_IMPORTED_MODULE_2__['tau'];
                    t1 = radius - step / 2;
                } else {
                    t0 = circleRadius(cosRadius, t0);
                    t1 = circleRadius(cosRadius, t1);
                    if (direction > 0 ? t0 < t1 : t0 > t1)
                        t0 += direction * _math_js__WEBPACK_IMPORTED_MODULE_2__['tau'];
                }
                for (var point, t = t0; direction > 0 ? t > t1 : t < t1; t -= step) {
                    point = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['spherical'])([
                        cosRadius,
                        -sinRadius * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['cos'])(t),
                        -sinRadius * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(t)
                    ]);
                    stream.point(point[0], point[1]);
                }
            }
            function circleRadius(cosRadius, point) {
                point = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesian'])(point), point[0] -= cosRadius;
                Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesianNormalizeInPlace'])(point);
                var radius = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['acos'])(-point[1]);
                return ((-point[2] < 0 ? -radius : radius) + _math_js__WEBPACK_IMPORTED_MODULE_2__['tau'] - _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon']) % _math_js__WEBPACK_IMPORTED_MODULE_2__['tau'];
            }
            __webpack_exports__['default'] = function () {
                var center = Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])([
                        0,
                        0
                    ]), radius = Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(90), precision = Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(6), ring, rotate, stream = { point: point };
                function point(x, y) {
                    ring.push(x = rotate(x, y));
                    x[0] *= _math_js__WEBPACK_IMPORTED_MODULE_2__['degrees'], x[1] *= _math_js__WEBPACK_IMPORTED_MODULE_2__['degrees'];
                }
                function circle() {
                    var c = center.apply(this, arguments), r = radius.apply(this, arguments) * _math_js__WEBPACK_IMPORTED_MODULE_2__['radians'], p = precision.apply(this, arguments) * _math_js__WEBPACK_IMPORTED_MODULE_2__['radians'];
                    ring = [];
                    rotate = Object(_rotation_js__WEBPACK_IMPORTED_MODULE_3__['rotateRadians'])(-c[0] * _math_js__WEBPACK_IMPORTED_MODULE_2__['radians'], -c[1] * _math_js__WEBPACK_IMPORTED_MODULE_2__['radians'], 0).invert;
                    circleStream(stream, r, p, 1);
                    c = {
                        type: 'Polygon',
                        coordinates: [ring]
                    };
                    ring = rotate = null;
                    return c;
                }
                circle.center = function (_) {
                    return arguments.length ? (center = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])([
                        +_[0],
                        +_[1]
                    ]), circle) : center;
                };
                circle.radius = function (_) {
                    return arguments.length ? (radius = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), circle) : radius;
                };
                circle.precision = function (_) {
                    return arguments.length ? (precision = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), circle) : precision;
                };
                return circle;
            };
        },
        './node_modules/d3-geo/src/clip/antimeridian.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/clip/index.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            __webpack_exports__['default'] = Object(_index_js__WEBPACK_IMPORTED_MODULE_0__['default'])(function () {
                return true;
            }, clipAntimeridianLine, clipAntimeridianInterpolate, [
                -_math_js__WEBPACK_IMPORTED_MODULE_1__['pi'],
                -_math_js__WEBPACK_IMPORTED_MODULE_1__['halfPi']
            ]);
            function clipAntimeridianLine(stream) {
                var lambda0 = NaN, phi0 = NaN, sign0 = NaN, clean;
                return {
                    lineStart: function () {
                        stream.lineStart();
                        clean = 1;
                    },
                    point: function (lambda1, phi1) {
                        var sign1 = lambda1 > 0 ? _math_js__WEBPACK_IMPORTED_MODULE_1__['pi'] : -_math_js__WEBPACK_IMPORTED_MODULE_1__['pi'], delta = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])(lambda1 - lambda0);
                        if (Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])(delta - _math_js__WEBPACK_IMPORTED_MODULE_1__['pi']) < _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon']) {
                            stream.point(lambda0, phi0 = (phi0 + phi1) / 2 > 0 ? _math_js__WEBPACK_IMPORTED_MODULE_1__['halfPi'] : -_math_js__WEBPACK_IMPORTED_MODULE_1__['halfPi']);
                            stream.point(sign0, phi0);
                            stream.lineEnd();
                            stream.lineStart();
                            stream.point(sign1, phi0);
                            stream.point(lambda1, phi0);
                            clean = 0;
                        } else if (sign0 !== sign1 && delta >= _math_js__WEBPACK_IMPORTED_MODULE_1__['pi']) {
                            if (Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])(lambda0 - sign0) < _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon'])
                                lambda0 -= sign0 * _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon'];
                            if (Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])(lambda1 - sign1) < _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon'])
                                lambda1 -= sign1 * _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon'];
                            phi0 = clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1);
                            stream.point(sign0, phi0);
                            stream.lineEnd();
                            stream.lineStart();
                            stream.point(sign1, phi0);
                            clean = 0;
                        }
                        stream.point(lambda0 = lambda1, phi0 = phi1);
                        sign0 = sign1;
                    },
                    lineEnd: function () {
                        stream.lineEnd();
                        lambda0 = phi0 = NaN;
                    },
                    clean: function () {
                        return 2 - clean;
                    }
                };
            }
            function clipAntimeridianIntersect(lambda0, phi0, lambda1, phi1) {
                var cosPhi0, cosPhi1, sinLambda0Lambda1 = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(lambda0 - lambda1);
                return Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])(sinLambda0Lambda1) > _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon'] ? Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['atan'])((Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(phi0) * (cosPhi1 = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(phi1)) * Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(lambda1) - Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(phi1) * (cosPhi0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(phi0)) * Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(lambda0)) / (cosPhi0 * cosPhi1 * sinLambda0Lambda1)) : (phi0 + phi1) / 2;
            }
            function clipAntimeridianInterpolate(from, to, direction, stream) {
                var phi;
                if (from == null) {
                    phi = direction * _math_js__WEBPACK_IMPORTED_MODULE_1__['halfPi'];
                    stream.point(-_math_js__WEBPACK_IMPORTED_MODULE_1__['pi'], phi);
                    stream.point(0, phi);
                    stream.point(_math_js__WEBPACK_IMPORTED_MODULE_1__['pi'], phi);
                    stream.point(_math_js__WEBPACK_IMPORTED_MODULE_1__['pi'], 0);
                    stream.point(_math_js__WEBPACK_IMPORTED_MODULE_1__['pi'], -phi);
                    stream.point(0, -phi);
                    stream.point(-_math_js__WEBPACK_IMPORTED_MODULE_1__['pi'], -phi);
                    stream.point(-_math_js__WEBPACK_IMPORTED_MODULE_1__['pi'], 0);
                    stream.point(-_math_js__WEBPACK_IMPORTED_MODULE_1__['pi'], phi);
                } else if (Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])(from[0] - to[0]) > _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon']) {
                    var lambda = from[0] < to[0] ? _math_js__WEBPACK_IMPORTED_MODULE_1__['pi'] : -_math_js__WEBPACK_IMPORTED_MODULE_1__['pi'];
                    phi = direction * lambda / 2;
                    stream.point(-lambda, phi);
                    stream.point(0, phi);
                    stream.point(lambda, phi);
                } else {
                    stream.point(to[0], to[1]);
                }
            }
        },
        './node_modules/d3-geo/src/clip/buffer.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _noop_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/noop.js');
            __webpack_exports__['default'] = function () {
                var lines = [], line;
                return {
                    point: function (x, y, m) {
                        line.push([
                            x,
                            y,
                            m
                        ]);
                    },
                    lineStart: function () {
                        lines.push(line = []);
                    },
                    lineEnd: _noop_js__WEBPACK_IMPORTED_MODULE_0__['default'],
                    rejoin: function () {
                        if (lines.length > 1)
                            lines.push(lines.pop().concat(lines.shift()));
                    },
                    result: function () {
                        var result = lines;
                        lines = [];
                        line = null;
                        return result;
                    }
                };
            };
        },
        './node_modules/d3-geo/src/clip/circle.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _cartesian_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/cartesian.js');
            var _circle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/circle.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _pointEqual_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-geo/src/pointEqual.js');
            var _index_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-geo/src/clip/index.js');
            __webpack_exports__['default'] = function (radius) {
                var cr = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['cos'])(radius), delta = 6 * _math_js__WEBPACK_IMPORTED_MODULE_2__['radians'], smallRadius = cr > 0, notHemisphere = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['abs'])(cr) > _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon'];
                function interpolate(from, to, direction, stream) {
                    Object(_circle_js__WEBPACK_IMPORTED_MODULE_1__['circleStream'])(stream, radius, delta, direction, from, to);
                }
                function visible(lambda, phi) {
                    return Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['cos'])(lambda) * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['cos'])(phi) > cr;
                }
                function clipLine(stream) {
                    var point0, c0, v0, v00, clean;
                    return {
                        lineStart: function () {
                            v00 = v0 = false;
                            clean = 1;
                        },
                        point: function (lambda, phi) {
                            var point1 = [
                                    lambda,
                                    phi
                                ], point2, v = visible(lambda, phi), c = smallRadius ? v ? 0 : code(lambda, phi) : v ? code(lambda + (lambda < 0 ? _math_js__WEBPACK_IMPORTED_MODULE_2__['pi'] : -_math_js__WEBPACK_IMPORTED_MODULE_2__['pi']), phi) : 0;
                            if (!point0 && (v00 = v0 = v))
                                stream.lineStart();
                            if (v !== v0) {
                                point2 = intersect(point0, point1);
                                if (!point2 || Object(_pointEqual_js__WEBPACK_IMPORTED_MODULE_3__['default'])(point0, point2) || Object(_pointEqual_js__WEBPACK_IMPORTED_MODULE_3__['default'])(point1, point2))
                                    point1[2] = 1;
                            }
                            if (v !== v0) {
                                clean = 0;
                                if (v) {
                                    stream.lineStart();
                                    point2 = intersect(point1, point0);
                                    stream.point(point2[0], point2[1]);
                                } else {
                                    point2 = intersect(point0, point1);
                                    stream.point(point2[0], point2[1], 2);
                                    stream.lineEnd();
                                }
                                point0 = point2;
                            } else if (notHemisphere && point0 && smallRadius ^ v) {
                                var t;
                                if (!(c & c0) && (t = intersect(point1, point0, true))) {
                                    clean = 0;
                                    if (smallRadius) {
                                        stream.lineStart();
                                        stream.point(t[0][0], t[0][1]);
                                        stream.point(t[1][0], t[1][1]);
                                        stream.lineEnd();
                                    } else {
                                        stream.point(t[1][0], t[1][1]);
                                        stream.lineEnd();
                                        stream.lineStart();
                                        stream.point(t[0][0], t[0][1], 3);
                                    }
                                }
                            }
                            if (v && (!point0 || !Object(_pointEqual_js__WEBPACK_IMPORTED_MODULE_3__['default'])(point0, point1))) {
                                stream.point(point1[0], point1[1]);
                            }
                            point0 = point1, v0 = v, c0 = c;
                        },
                        lineEnd: function () {
                            if (v0)
                                stream.lineEnd();
                            point0 = null;
                        },
                        clean: function () {
                            return clean | (v00 && v0) << 1;
                        }
                    };
                }
                function intersect(a, b, two) {
                    var pa = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesian'])(a), pb = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesian'])(b);
                    var n1 = [
                            1,
                            0,
                            0
                        ], n2 = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesianCross'])(pa, pb), n2n2 = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesianDot'])(n2, n2), n1n2 = n2[0], determinant = n2n2 - n1n2 * n1n2;
                    if (!determinant)
                        return !two && a;
                    var c1 = cr * n2n2 / determinant, c2 = -cr * n1n2 / determinant, n1xn2 = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesianCross'])(n1, n2), A = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesianScale'])(n1, c1), B = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesianScale'])(n2, c2);
                    Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesianAddInPlace'])(A, B);
                    var u = n1xn2, w = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesianDot'])(A, u), uu = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesianDot'])(u, u), t2 = w * w - uu * (Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesianDot'])(A, A) - 1);
                    if (t2 < 0)
                        return;
                    var t = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sqrt'])(t2), q = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesianScale'])(u, (-w - t) / uu);
                    Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesianAddInPlace'])(q, A);
                    q = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['spherical'])(q);
                    if (!two)
                        return q;
                    var lambda0 = a[0], lambda1 = b[0], phi0 = a[1], phi1 = b[1], z;
                    if (lambda1 < lambda0)
                        z = lambda0, lambda0 = lambda1, lambda1 = z;
                    var delta = lambda1 - lambda0, polar = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['abs'])(delta - _math_js__WEBPACK_IMPORTED_MODULE_2__['pi']) < _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon'], meridian = polar || delta < _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon'];
                    if (!polar && phi1 < phi0)
                        z = phi0, phi0 = phi1, phi1 = z;
                    if (meridian ? polar ? phi0 + phi1 > 0 ^ q[1] < (Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['abs'])(q[0] - lambda0) < _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon'] ? phi0 : phi1) : phi0 <= q[1] && q[1] <= phi1 : delta > _math_js__WEBPACK_IMPORTED_MODULE_2__['pi'] ^ (lambda0 <= q[0] && q[0] <= lambda1)) {
                        var q1 = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesianScale'])(u, (-w + t) / uu);
                        Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesianAddInPlace'])(q1, A);
                        return [
                            q,
                            Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['spherical'])(q1)
                        ];
                    }
                }
                function code(lambda, phi) {
                    var r = smallRadius ? radius : _math_js__WEBPACK_IMPORTED_MODULE_2__['pi'] - radius, code = 0;
                    if (lambda < -r)
                        code |= 1;
                    else if (lambda > r)
                        code |= 2;
                    if (phi < -r)
                        code |= 4;
                    else if (phi > r)
                        code |= 8;
                    return code;
                }
                return Object(_index_js__WEBPACK_IMPORTED_MODULE_4__['default'])(visible, clipLine, interpolate, smallRadius ? [
                    0,
                    -radius
                ] : [
                    -_math_js__WEBPACK_IMPORTED_MODULE_2__['pi'],
                    radius - _math_js__WEBPACK_IMPORTED_MODULE_2__['pi']
                ]);
            };
        },
        './node_modules/d3-geo/src/clip/extent.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _rectangle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/clip/rectangle.js');
            __webpack_exports__['default'] = function () {
                var x0 = 0, y0 = 0, x1 = 960, y1 = 500, cache, cacheStream, clip;
                return clip = {
                    stream: function (stream) {
                        return cache && cacheStream === stream ? cache : cache = Object(_rectangle_js__WEBPACK_IMPORTED_MODULE_0__['default'])(x0, y0, x1, y1)(cacheStream = stream);
                    },
                    extent: function (_) {
                        return arguments.length ? (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1], cache = cacheStream = null, clip) : [
                            [
                                x0,
                                y0
                            ],
                            [
                                x1,
                                y1
                            ]
                        ];
                    }
                };
            };
        },
        './node_modules/d3-geo/src/clip/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _buffer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/clip/buffer.js');
            var _rejoin_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/clip/rejoin.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _polygonContains_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-geo/src/polygonContains.js');
            var d3_array__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            __webpack_exports__['default'] = function (pointVisible, clipLine, interpolate, start) {
                return function (sink) {
                    var line = clipLine(sink), ringBuffer = Object(_buffer_js__WEBPACK_IMPORTED_MODULE_0__['default'])(), ringSink = clipLine(ringBuffer), polygonStarted = false, polygon, segments, ring;
                    var clip = {
                        point: point,
                        lineStart: lineStart,
                        lineEnd: lineEnd,
                        polygonStart: function () {
                            clip.point = pointRing;
                            clip.lineStart = ringStart;
                            clip.lineEnd = ringEnd;
                            segments = [];
                            polygon = [];
                        },
                        polygonEnd: function () {
                            clip.point = point;
                            clip.lineStart = lineStart;
                            clip.lineEnd = lineEnd;
                            segments = Object(d3_array__WEBPACK_IMPORTED_MODULE_4__['merge'])(segments);
                            var startInside = Object(_polygonContains_js__WEBPACK_IMPORTED_MODULE_3__['default'])(polygon, start);
                            if (segments.length) {
                                if (!polygonStarted)
                                    sink.polygonStart(), polygonStarted = true;
                                Object(_rejoin_js__WEBPACK_IMPORTED_MODULE_1__['default'])(segments, compareIntersection, startInside, interpolate, sink);
                            } else if (startInside) {
                                if (!polygonStarted)
                                    sink.polygonStart(), polygonStarted = true;
                                sink.lineStart();
                                interpolate(null, null, 1, sink);
                                sink.lineEnd();
                            }
                            if (polygonStarted)
                                sink.polygonEnd(), polygonStarted = false;
                            segments = polygon = null;
                        },
                        sphere: function () {
                            sink.polygonStart();
                            sink.lineStart();
                            interpolate(null, null, 1, sink);
                            sink.lineEnd();
                            sink.polygonEnd();
                        }
                    };
                    function point(lambda, phi) {
                        if (pointVisible(lambda, phi))
                            sink.point(lambda, phi);
                    }
                    function pointLine(lambda, phi) {
                        line.point(lambda, phi);
                    }
                    function lineStart() {
                        clip.point = pointLine;
                        line.lineStart();
                    }
                    function lineEnd() {
                        clip.point = point;
                        line.lineEnd();
                    }
                    function pointRing(lambda, phi) {
                        ring.push([
                            lambda,
                            phi
                        ]);
                        ringSink.point(lambda, phi);
                    }
                    function ringStart() {
                        ringSink.lineStart();
                        ring = [];
                    }
                    function ringEnd() {
                        pointRing(ring[0][0], ring[0][1]);
                        ringSink.lineEnd();
                        var clean = ringSink.clean(), ringSegments = ringBuffer.result(), i, n = ringSegments.length, m, segment, point;
                        ring.pop();
                        polygon.push(ring);
                        ring = null;
                        if (!n)
                            return;
                        if (clean & 1) {
                            segment = ringSegments[0];
                            if ((m = segment.length - 1) > 0) {
                                if (!polygonStarted)
                                    sink.polygonStart(), polygonStarted = true;
                                sink.lineStart();
                                for (i = 0; i < m; ++i)
                                    sink.point((point = segment[i])[0], point[1]);
                                sink.lineEnd();
                            }
                            return;
                        }
                        if (n > 1 && clean & 2)
                            ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));
                        segments.push(ringSegments.filter(validSegment));
                    }
                    return clip;
                };
            };
            function validSegment(segment) {
                return segment.length > 1;
            }
            function compareIntersection(a, b) {
                return ((a = a.x)[0] < 0 ? a[1] - _math_js__WEBPACK_IMPORTED_MODULE_2__['halfPi'] - _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon'] : _math_js__WEBPACK_IMPORTED_MODULE_2__['halfPi'] - a[1]) - ((b = b.x)[0] < 0 ? b[1] - _math_js__WEBPACK_IMPORTED_MODULE_2__['halfPi'] - _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon'] : _math_js__WEBPACK_IMPORTED_MODULE_2__['halfPi'] - b[1]);
            }
        },
        './node_modules/d3-geo/src/clip/line.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (a, b, x0, y0, x1, y1) {
                var ax = a[0], ay = a[1], bx = b[0], by = b[1], t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r;
                r = x0 - ax;
                if (!dx && r > 0)
                    return;
                r /= dx;
                if (dx < 0) {
                    if (r < t0)
                        return;
                    if (r < t1)
                        t1 = r;
                } else if (dx > 0) {
                    if (r > t1)
                        return;
                    if (r > t0)
                        t0 = r;
                }
                r = x1 - ax;
                if (!dx && r < 0)
                    return;
                r /= dx;
                if (dx < 0) {
                    if (r > t1)
                        return;
                    if (r > t0)
                        t0 = r;
                } else if (dx > 0) {
                    if (r < t0)
                        return;
                    if (r < t1)
                        t1 = r;
                }
                r = y0 - ay;
                if (!dy && r > 0)
                    return;
                r /= dy;
                if (dy < 0) {
                    if (r < t0)
                        return;
                    if (r < t1)
                        t1 = r;
                } else if (dy > 0) {
                    if (r > t1)
                        return;
                    if (r > t0)
                        t0 = r;
                }
                r = y1 - ay;
                if (!dy && r < 0)
                    return;
                r /= dy;
                if (dy < 0) {
                    if (r > t1)
                        return;
                    if (r > t0)
                        t0 = r;
                } else if (dy > 0) {
                    if (r < t0)
                        return;
                    if (r < t1)
                        t1 = r;
                }
                if (t0 > 0)
                    a[0] = ax + t0 * dx, a[1] = ay + t0 * dy;
                if (t1 < 1)
                    b[0] = ax + t1 * dx, b[1] = ay + t1 * dy;
                return true;
            };
        },
        './node_modules/d3-geo/src/clip/rectangle.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return clipRectangle;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _buffer_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/clip/buffer.js');
            var _line_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/clip/line.js');
            var _rejoin_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-geo/src/clip/rejoin.js');
            var d3_array__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            var clipMax = 1000000000, clipMin = -clipMax;
            function clipRectangle(x0, y0, x1, y1) {
                function visible(x, y) {
                    return x0 <= x && x <= x1 && y0 <= y && y <= y1;
                }
                function interpolate(from, to, direction, stream) {
                    var a = 0, a1 = 0;
                    if (from == null || (a = corner(from, direction)) !== (a1 = corner(to, direction)) || comparePoint(from, to) < 0 ^ direction > 0) {
                        do
                            stream.point(a === 0 || a === 3 ? x0 : x1, a > 1 ? y1 : y0);
                        while ((a = (a + direction + 4) % 4) !== a1);
                    } else {
                        stream.point(to[0], to[1]);
                    }
                }
                function corner(p, direction) {
                    return Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['abs'])(p[0] - x0) < _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon'] ? direction > 0 ? 0 : 3 : Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['abs'])(p[0] - x1) < _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon'] ? direction > 0 ? 2 : 1 : Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['abs'])(p[1] - y0) < _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon'] ? direction > 0 ? 1 : 0 : direction > 0 ? 3 : 2;
                }
                function compareIntersection(a, b) {
                    return comparePoint(a.x, b.x);
                }
                function comparePoint(a, b) {
                    var ca = corner(a, 1), cb = corner(b, 1);
                    return ca !== cb ? ca - cb : ca === 0 ? b[1] - a[1] : ca === 1 ? a[0] - b[0] : ca === 2 ? a[1] - b[1] : b[0] - a[0];
                }
                return function (stream) {
                    var activeStream = stream, bufferStream = Object(_buffer_js__WEBPACK_IMPORTED_MODULE_1__['default'])(), segments, polygon, ring, x__, y__, v__, x_, y_, v_, first, clean;
                    var clipStream = {
                        point: point,
                        lineStart: lineStart,
                        lineEnd: lineEnd,
                        polygonStart: polygonStart,
                        polygonEnd: polygonEnd
                    };
                    function point(x, y) {
                        if (visible(x, y))
                            activeStream.point(x, y);
                    }
                    function polygonInside() {
                        var winding = 0;
                        for (var i = 0, n = polygon.length; i < n; ++i) {
                            for (var ring = polygon[i], j = 1, m = ring.length, point = ring[0], a0, a1, b0 = point[0], b1 = point[1]; j < m; ++j) {
                                a0 = b0, a1 = b1, point = ring[j], b0 = point[0], b1 = point[1];
                                if (a1 <= y1) {
                                    if (b1 > y1 && (b0 - a0) * (y1 - a1) > (b1 - a1) * (x0 - a0))
                                        ++winding;
                                } else {
                                    if (b1 <= y1 && (b0 - a0) * (y1 - a1) < (b1 - a1) * (x0 - a0))
                                        --winding;
                                }
                            }
                        }
                        return winding;
                    }
                    function polygonStart() {
                        activeStream = bufferStream, segments = [], polygon = [], clean = true;
                    }
                    function polygonEnd() {
                        var startInside = polygonInside(), cleanInside = clean && startInside, visible = (segments = Object(d3_array__WEBPACK_IMPORTED_MODULE_4__['merge'])(segments)).length;
                        if (cleanInside || visible) {
                            stream.polygonStart();
                            if (cleanInside) {
                                stream.lineStart();
                                interpolate(null, null, 1, stream);
                                stream.lineEnd();
                            }
                            if (visible) {
                                Object(_rejoin_js__WEBPACK_IMPORTED_MODULE_3__['default'])(segments, compareIntersection, startInside, interpolate, stream);
                            }
                            stream.polygonEnd();
                        }
                        activeStream = stream, segments = polygon = ring = null;
                    }
                    function lineStart() {
                        clipStream.point = linePoint;
                        if (polygon)
                            polygon.push(ring = []);
                        first = true;
                        v_ = false;
                        x_ = y_ = NaN;
                    }
                    function lineEnd() {
                        if (segments) {
                            linePoint(x__, y__);
                            if (v__ && v_)
                                bufferStream.rejoin();
                            segments.push(bufferStream.result());
                        }
                        clipStream.point = point;
                        if (v_)
                            activeStream.lineEnd();
                    }
                    function linePoint(x, y) {
                        var v = visible(x, y);
                        if (polygon)
                            ring.push([
                                x,
                                y
                            ]);
                        if (first) {
                            x__ = x, y__ = y, v__ = v;
                            first = false;
                            if (v) {
                                activeStream.lineStart();
                                activeStream.point(x, y);
                            }
                        } else {
                            if (v && v_)
                                activeStream.point(x, y);
                            else {
                                var a = [
                                        x_ = Math.max(clipMin, Math.min(clipMax, x_)),
                                        y_ = Math.max(clipMin, Math.min(clipMax, y_))
                                    ], b = [
                                        x = Math.max(clipMin, Math.min(clipMax, x)),
                                        y = Math.max(clipMin, Math.min(clipMax, y))
                                    ];
                                if (Object(_line_js__WEBPACK_IMPORTED_MODULE_2__['default'])(a, b, x0, y0, x1, y1)) {
                                    if (!v_) {
                                        activeStream.lineStart();
                                        activeStream.point(a[0], a[1]);
                                    }
                                    activeStream.point(b[0], b[1]);
                                    if (!v)
                                        activeStream.lineEnd();
                                    clean = false;
                                } else if (v) {
                                    activeStream.lineStart();
                                    activeStream.point(x, y);
                                    clean = false;
                                }
                            }
                        }
                        x_ = x, y_ = y, v_ = v;
                    }
                    return clipStream;
                };
            }
        },
        './node_modules/d3-geo/src/clip/rejoin.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _pointEqual_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/pointEqual.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            function Intersection(point, points, other, entry) {
                this.x = point;
                this.z = points;
                this.o = other;
                this.e = entry;
                this.v = false;
                this.n = this.p = null;
            }
            __webpack_exports__['default'] = function (segments, compareIntersection, startInside, interpolate, stream) {
                var subject = [], clip = [], i, n;
                segments.forEach(function (segment) {
                    if ((n = segment.length - 1) <= 0)
                        return;
                    var n, p0 = segment[0], p1 = segment[n], x;
                    if (Object(_pointEqual_js__WEBPACK_IMPORTED_MODULE_0__['default'])(p0, p1)) {
                        if (!p0[2] && !p1[2]) {
                            stream.lineStart();
                            for (i = 0; i < n; ++i)
                                stream.point((p0 = segment[i])[0], p0[1]);
                            stream.lineEnd();
                            return;
                        }
                        p1[0] += 2 * _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon'];
                    }
                    subject.push(x = new Intersection(p0, segment, null, true));
                    clip.push(x.o = new Intersection(p0, null, x, false));
                    subject.push(x = new Intersection(p1, segment, null, false));
                    clip.push(x.o = new Intersection(p1, null, x, true));
                });
                if (!subject.length)
                    return;
                clip.sort(compareIntersection);
                link(subject);
                link(clip);
                for (i = 0, n = clip.length; i < n; ++i) {
                    clip[i].e = startInside = !startInside;
                }
                var start = subject[0], points, point;
                while (1) {
                    var current = start, isSubject = true;
                    while (current.v)
                        if ((current = current.n) === start)
                            return;
                    points = current.z;
                    stream.lineStart();
                    do {
                        current.v = current.o.v = true;
                        if (current.e) {
                            if (isSubject) {
                                for (i = 0, n = points.length; i < n; ++i)
                                    stream.point((point = points[i])[0], point[1]);
                            } else {
                                interpolate(current.x, current.n.x, 1, stream);
                            }
                            current = current.n;
                        } else {
                            if (isSubject) {
                                points = current.p.z;
                                for (i = points.length - 1; i >= 0; --i)
                                    stream.point((point = points[i])[0], point[1]);
                            } else {
                                interpolate(current.x, current.p.x, -1, stream);
                            }
                            current = current.p;
                        }
                        current = current.o;
                        points = current.z;
                        isSubject = !isSubject;
                    } while (!current.v);
                    stream.lineEnd();
                }
            };
            function link(array) {
                if (!(n = array.length))
                    return;
                var n, i = 0, a = array[0], b;
                while (++i < n) {
                    a.n = b = array[i];
                    b.p = a;
                    a = b;
                }
                a.n = b = array[0];
                b.p = a;
            }
        },
        './node_modules/d3-geo/src/compose.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (a, b) {
                function compose(x, y) {
                    return x = a(x, y), b(x[0], x[1]);
                }
                if (a.invert && b.invert)
                    compose.invert = function (x, y) {
                        return x = b.invert(x, y), x && a.invert(x[0], x[1]);
                    };
                return compose;
            };
        },
        './node_modules/d3-geo/src/constant.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return function () {
                    return x;
                };
            };
        },
        './node_modules/d3-geo/src/contains.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _polygonContains_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/polygonContains.js');
            var _distance_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/distance.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var containsObjectType = {
                Feature: function (object, point) {
                    return containsGeometry(object.geometry, point);
                },
                FeatureCollection: function (object, point) {
                    var features = object.features, i = -1, n = features.length;
                    while (++i < n)
                        if (containsGeometry(features[i].geometry, point))
                            return true;
                    return false;
                }
            };
            var containsGeometryType = {
                Sphere: function () {
                    return true;
                },
                Point: function (object, point) {
                    return containsPoint(object.coordinates, point);
                },
                MultiPoint: function (object, point) {
                    var coordinates = object.coordinates, i = -1, n = coordinates.length;
                    while (++i < n)
                        if (containsPoint(coordinates[i], point))
                            return true;
                    return false;
                },
                LineString: function (object, point) {
                    return containsLine(object.coordinates, point);
                },
                MultiLineString: function (object, point) {
                    var coordinates = object.coordinates, i = -1, n = coordinates.length;
                    while (++i < n)
                        if (containsLine(coordinates[i], point))
                            return true;
                    return false;
                },
                Polygon: function (object, point) {
                    return containsPolygon(object.coordinates, point);
                },
                MultiPolygon: function (object, point) {
                    var coordinates = object.coordinates, i = -1, n = coordinates.length;
                    while (++i < n)
                        if (containsPolygon(coordinates[i], point))
                            return true;
                    return false;
                },
                GeometryCollection: function (object, point) {
                    var geometries = object.geometries, i = -1, n = geometries.length;
                    while (++i < n)
                        if (containsGeometry(geometries[i], point))
                            return true;
                    return false;
                }
            };
            function containsGeometry(geometry, point) {
                return geometry && containsGeometryType.hasOwnProperty(geometry.type) ? containsGeometryType[geometry.type](geometry, point) : false;
            }
            function containsPoint(coordinates, point) {
                return Object(_distance_js__WEBPACK_IMPORTED_MODULE_1__['default'])(coordinates, point) === 0;
            }
            function containsLine(coordinates, point) {
                var ao, bo, ab;
                for (var i = 0, n = coordinates.length; i < n; i++) {
                    bo = Object(_distance_js__WEBPACK_IMPORTED_MODULE_1__['default'])(coordinates[i], point);
                    if (bo === 0)
                        return true;
                    if (i > 0) {
                        ab = Object(_distance_js__WEBPACK_IMPORTED_MODULE_1__['default'])(coordinates[i], coordinates[i - 1]);
                        if (ab > 0 && ao <= ab && bo <= ab && (ao + bo - ab) * (1 - Math.pow((ao - bo) / ab, 2)) < _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon2'] * ab)
                            return true;
                    }
                    ao = bo;
                }
                return false;
            }
            function containsPolygon(coordinates, point) {
                return !!Object(_polygonContains_js__WEBPACK_IMPORTED_MODULE_0__['default'])(coordinates.map(ringRadians), pointRadians(point));
            }
            function ringRadians(ring) {
                return ring = ring.map(pointRadians), ring.pop(), ring;
            }
            function pointRadians(point) {
                return [
                    point[0] * _math_js__WEBPACK_IMPORTED_MODULE_2__['radians'],
                    point[1] * _math_js__WEBPACK_IMPORTED_MODULE_2__['radians']
                ];
            }
            __webpack_exports__['default'] = function (object, point) {
                return (object && containsObjectType.hasOwnProperty(object.type) ? containsObjectType[object.type] : containsGeometry)(object, point);
            };
        },
        './node_modules/d3-geo/src/distance.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _length_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/length.js');
            var coordinates = [
                    null,
                    null
                ], object = {
                    type: 'LineString',
                    coordinates: coordinates
                };
            __webpack_exports__['default'] = function (a, b) {
                coordinates[0] = a;
                coordinates[1] = b;
                return Object(_length_js__WEBPACK_IMPORTED_MODULE_0__['default'])(object);
            };
        },
        './node_modules/d3-geo/src/graticule.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return graticule;
            });
            __webpack_require__.d(__webpack_exports__, 'graticule10', function () {
                return graticule10;
            });
            var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            function graticuleX(y0, y1, dy) {
                var y = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['range'])(y0, y1 - _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon'], dy).concat(y1);
                return function (x) {
                    return y.map(function (y) {
                        return [
                            x,
                            y
                        ];
                    });
                };
            }
            function graticuleY(x0, x1, dx) {
                var x = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['range'])(x0, x1 - _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon'], dx).concat(x1);
                return function (y) {
                    return x.map(function (x) {
                        return [
                            x,
                            y
                        ];
                    });
                };
            }
            function graticule() {
                var x1, x0, X1, X0, y1, y0, Y1, Y0, dx = 10, dy = dx, DX = 90, DY = 360, x, y, X, Y, precision = 2.5;
                function graticule() {
                    return {
                        type: 'MultiLineString',
                        coordinates: lines()
                    };
                }
                function lines() {
                    return Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['range'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['ceil'])(X0 / DX) * DX, X1, DX).map(X).concat(Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['range'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['ceil'])(Y0 / DY) * DY, Y1, DY).map(Y)).concat(Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['range'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['ceil'])(x0 / dx) * dx, x1, dx).filter(function (x) {
                        return Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])(x % DX) > _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon'];
                    }).map(x)).concat(Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['range'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['ceil'])(y0 / dy) * dy, y1, dy).filter(function (y) {
                        return Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])(y % DY) > _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon'];
                    }).map(y));
                }
                graticule.lines = function () {
                    return lines().map(function (coordinates) {
                        return {
                            type: 'LineString',
                            coordinates: coordinates
                        };
                    });
                };
                graticule.outline = function () {
                    return {
                        type: 'Polygon',
                        coordinates: [X(X0).concat(Y(Y1).slice(1), X(X1).reverse().slice(1), Y(Y0).reverse().slice(1))]
                    };
                };
                graticule.extent = function (_) {
                    if (!arguments.length)
                        return graticule.extentMinor();
                    return graticule.extentMajor(_).extentMinor(_);
                };
                graticule.extentMajor = function (_) {
                    if (!arguments.length)
                        return [
                            [
                                X0,
                                Y0
                            ],
                            [
                                X1,
                                Y1
                            ]
                        ];
                    X0 = +_[0][0], X1 = +_[1][0];
                    Y0 = +_[0][1], Y1 = +_[1][1];
                    if (X0 > X1)
                        _ = X0, X0 = X1, X1 = _;
                    if (Y0 > Y1)
                        _ = Y0, Y0 = Y1, Y1 = _;
                    return graticule.precision(precision);
                };
                graticule.extentMinor = function (_) {
                    if (!arguments.length)
                        return [
                            [
                                x0,
                                y0
                            ],
                            [
                                x1,
                                y1
                            ]
                        ];
                    x0 = +_[0][0], x1 = +_[1][0];
                    y0 = +_[0][1], y1 = +_[1][1];
                    if (x0 > x1)
                        _ = x0, x0 = x1, x1 = _;
                    if (y0 > y1)
                        _ = y0, y0 = y1, y1 = _;
                    return graticule.precision(precision);
                };
                graticule.step = function (_) {
                    if (!arguments.length)
                        return graticule.stepMinor();
                    return graticule.stepMajor(_).stepMinor(_);
                };
                graticule.stepMajor = function (_) {
                    if (!arguments.length)
                        return [
                            DX,
                            DY
                        ];
                    DX = +_[0], DY = +_[1];
                    return graticule;
                };
                graticule.stepMinor = function (_) {
                    if (!arguments.length)
                        return [
                            dx,
                            dy
                        ];
                    dx = +_[0], dy = +_[1];
                    return graticule;
                };
                graticule.precision = function (_) {
                    if (!arguments.length)
                        return precision;
                    precision = +_;
                    x = graticuleX(y0, y1, 90);
                    y = graticuleY(x0, x1, precision);
                    X = graticuleX(Y0, Y1, 90);
                    Y = graticuleY(X0, X1, precision);
                    return graticule;
                };
                return graticule.extentMajor([
                    [
                        -180,
                        -90 + _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon']
                    ],
                    [
                        180,
                        90 - _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon']
                    ]
                ]).extentMinor([
                    [
                        -180,
                        -80 - _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon']
                    ],
                    [
                        180,
                        80 + _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon']
                    ]
                ]);
            }
            function graticule10() {
                return graticule()();
            }
        },
        './node_modules/d3-geo/src/identity.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return x;
            };
        },
        './node_modules/d3-geo/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _area_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/area.js');
            __webpack_require__.d(__webpack_exports__, 'geoArea', function () {
                return _area_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _bounds_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/bounds.js');
            __webpack_require__.d(__webpack_exports__, 'geoBounds', function () {
                return _bounds_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _centroid_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/centroid.js');
            __webpack_require__.d(__webpack_exports__, 'geoCentroid', function () {
                return _centroid_js__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            var _circle_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-geo/src/circle.js');
            __webpack_require__.d(__webpack_exports__, 'geoCircle', function () {
                return _circle_js__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
            var _clip_antimeridian_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-geo/src/clip/antimeridian.js');
            __webpack_require__.d(__webpack_exports__, 'geoClipAntimeridian', function () {
                return _clip_antimeridian_js__WEBPACK_IMPORTED_MODULE_4__['default'];
            });
            var _clip_circle_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-geo/src/clip/circle.js');
            __webpack_require__.d(__webpack_exports__, 'geoClipCircle', function () {
                return _clip_circle_js__WEBPACK_IMPORTED_MODULE_5__['default'];
            });
            var _clip_extent_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-geo/src/clip/extent.js');
            __webpack_require__.d(__webpack_exports__, 'geoClipExtent', function () {
                return _clip_extent_js__WEBPACK_IMPORTED_MODULE_6__['default'];
            });
            var _clip_rectangle_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-geo/src/clip/rectangle.js');
            __webpack_require__.d(__webpack_exports__, 'geoClipRectangle', function () {
                return _clip_rectangle_js__WEBPACK_IMPORTED_MODULE_7__['default'];
            });
            var _contains_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-geo/src/contains.js');
            __webpack_require__.d(__webpack_exports__, 'geoContains', function () {
                return _contains_js__WEBPACK_IMPORTED_MODULE_8__['default'];
            });
            var _distance_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__('./node_modules/d3-geo/src/distance.js');
            __webpack_require__.d(__webpack_exports__, 'geoDistance', function () {
                return _distance_js__WEBPACK_IMPORTED_MODULE_9__['default'];
            });
            var _graticule_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__('./node_modules/d3-geo/src/graticule.js');
            __webpack_require__.d(__webpack_exports__, 'geoGraticule', function () {
                return _graticule_js__WEBPACK_IMPORTED_MODULE_10__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoGraticule10', function () {
                return _graticule_js__WEBPACK_IMPORTED_MODULE_10__['graticule10'];
            });
            var _interpolate_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__('./node_modules/d3-geo/src/interpolate.js');
            __webpack_require__.d(__webpack_exports__, 'geoInterpolate', function () {
                return _interpolate_js__WEBPACK_IMPORTED_MODULE_11__['default'];
            });
            var _length_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__('./node_modules/d3-geo/src/length.js');
            __webpack_require__.d(__webpack_exports__, 'geoLength', function () {
                return _length_js__WEBPACK_IMPORTED_MODULE_12__['default'];
            });
            var _path_index_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__('./node_modules/d3-geo/src/path/index.js');
            __webpack_require__.d(__webpack_exports__, 'geoPath', function () {
                return _path_index_js__WEBPACK_IMPORTED_MODULE_13__['default'];
            });
            var _projection_albers_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__('./node_modules/d3-geo/src/projection/albers.js');
            __webpack_require__.d(__webpack_exports__, 'geoAlbers', function () {
                return _projection_albers_js__WEBPACK_IMPORTED_MODULE_14__['default'];
            });
            var _projection_albersUsa_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__('./node_modules/d3-geo/src/projection/albersUsa.js');
            __webpack_require__.d(__webpack_exports__, 'geoAlbersUsa', function () {
                return _projection_albersUsa_js__WEBPACK_IMPORTED_MODULE_15__['default'];
            });
            var _projection_azimuthalEqualArea_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__('./node_modules/d3-geo/src/projection/azimuthalEqualArea.js');
            __webpack_require__.d(__webpack_exports__, 'geoAzimuthalEqualArea', function () {
                return _projection_azimuthalEqualArea_js__WEBPACK_IMPORTED_MODULE_16__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoAzimuthalEqualAreaRaw', function () {
                return _projection_azimuthalEqualArea_js__WEBPACK_IMPORTED_MODULE_16__['azimuthalEqualAreaRaw'];
            });
            var _projection_azimuthalEquidistant_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__('./node_modules/d3-geo/src/projection/azimuthalEquidistant.js');
            __webpack_require__.d(__webpack_exports__, 'geoAzimuthalEquidistant', function () {
                return _projection_azimuthalEquidistant_js__WEBPACK_IMPORTED_MODULE_17__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoAzimuthalEquidistantRaw', function () {
                return _projection_azimuthalEquidistant_js__WEBPACK_IMPORTED_MODULE_17__['azimuthalEquidistantRaw'];
            });
            var _projection_conicConformal_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__('./node_modules/d3-geo/src/projection/conicConformal.js');
            __webpack_require__.d(__webpack_exports__, 'geoConicConformal', function () {
                return _projection_conicConformal_js__WEBPACK_IMPORTED_MODULE_18__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoConicConformalRaw', function () {
                return _projection_conicConformal_js__WEBPACK_IMPORTED_MODULE_18__['conicConformalRaw'];
            });
            var _projection_conicEqualArea_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__('./node_modules/d3-geo/src/projection/conicEqualArea.js');
            __webpack_require__.d(__webpack_exports__, 'geoConicEqualArea', function () {
                return _projection_conicEqualArea_js__WEBPACK_IMPORTED_MODULE_19__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoConicEqualAreaRaw', function () {
                return _projection_conicEqualArea_js__WEBPACK_IMPORTED_MODULE_19__['conicEqualAreaRaw'];
            });
            var _projection_conicEquidistant_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__('./node_modules/d3-geo/src/projection/conicEquidistant.js');
            __webpack_require__.d(__webpack_exports__, 'geoConicEquidistant', function () {
                return _projection_conicEquidistant_js__WEBPACK_IMPORTED_MODULE_20__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoConicEquidistantRaw', function () {
                return _projection_conicEquidistant_js__WEBPACK_IMPORTED_MODULE_20__['conicEquidistantRaw'];
            });
            var _projection_equalEarth_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__('./node_modules/d3-geo/src/projection/equalEarth.js');
            __webpack_require__.d(__webpack_exports__, 'geoEqualEarth', function () {
                return _projection_equalEarth_js__WEBPACK_IMPORTED_MODULE_21__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoEqualEarthRaw', function () {
                return _projection_equalEarth_js__WEBPACK_IMPORTED_MODULE_21__['equalEarthRaw'];
            });
            var _projection_equirectangular_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__('./node_modules/d3-geo/src/projection/equirectangular.js');
            __webpack_require__.d(__webpack_exports__, 'geoEquirectangular', function () {
                return _projection_equirectangular_js__WEBPACK_IMPORTED_MODULE_22__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoEquirectangularRaw', function () {
                return _projection_equirectangular_js__WEBPACK_IMPORTED_MODULE_22__['equirectangularRaw'];
            });
            var _projection_gnomonic_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__('./node_modules/d3-geo/src/projection/gnomonic.js');
            __webpack_require__.d(__webpack_exports__, 'geoGnomonic', function () {
                return _projection_gnomonic_js__WEBPACK_IMPORTED_MODULE_23__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoGnomonicRaw', function () {
                return _projection_gnomonic_js__WEBPACK_IMPORTED_MODULE_23__['gnomonicRaw'];
            });
            var _projection_identity_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__('./node_modules/d3-geo/src/projection/identity.js');
            __webpack_require__.d(__webpack_exports__, 'geoIdentity', function () {
                return _projection_identity_js__WEBPACK_IMPORTED_MODULE_24__['default'];
            });
            var _projection_index_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__('./node_modules/d3-geo/src/projection/index.js');
            __webpack_require__.d(__webpack_exports__, 'geoProjection', function () {
                return _projection_index_js__WEBPACK_IMPORTED_MODULE_25__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoProjectionMutator', function () {
                return _projection_index_js__WEBPACK_IMPORTED_MODULE_25__['projectionMutator'];
            });
            var _projection_mercator_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__('./node_modules/d3-geo/src/projection/mercator.js');
            __webpack_require__.d(__webpack_exports__, 'geoMercator', function () {
                return _projection_mercator_js__WEBPACK_IMPORTED_MODULE_26__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoMercatorRaw', function () {
                return _projection_mercator_js__WEBPACK_IMPORTED_MODULE_26__['mercatorRaw'];
            });
            var _projection_naturalEarth1_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__('./node_modules/d3-geo/src/projection/naturalEarth1.js');
            __webpack_require__.d(__webpack_exports__, 'geoNaturalEarth1', function () {
                return _projection_naturalEarth1_js__WEBPACK_IMPORTED_MODULE_27__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoNaturalEarth1Raw', function () {
                return _projection_naturalEarth1_js__WEBPACK_IMPORTED_MODULE_27__['naturalEarth1Raw'];
            });
            var _projection_orthographic_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__('./node_modules/d3-geo/src/projection/orthographic.js');
            __webpack_require__.d(__webpack_exports__, 'geoOrthographic', function () {
                return _projection_orthographic_js__WEBPACK_IMPORTED_MODULE_28__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoOrthographicRaw', function () {
                return _projection_orthographic_js__WEBPACK_IMPORTED_MODULE_28__['orthographicRaw'];
            });
            var _projection_stereographic_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__('./node_modules/d3-geo/src/projection/stereographic.js');
            __webpack_require__.d(__webpack_exports__, 'geoStereographic', function () {
                return _projection_stereographic_js__WEBPACK_IMPORTED_MODULE_29__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoStereographicRaw', function () {
                return _projection_stereographic_js__WEBPACK_IMPORTED_MODULE_29__['stereographicRaw'];
            });
            var _projection_transverseMercator_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__('./node_modules/d3-geo/src/projection/transverseMercator.js');
            __webpack_require__.d(__webpack_exports__, 'geoTransverseMercator', function () {
                return _projection_transverseMercator_js__WEBPACK_IMPORTED_MODULE_30__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoTransverseMercatorRaw', function () {
                return _projection_transverseMercator_js__WEBPACK_IMPORTED_MODULE_30__['transverseMercatorRaw'];
            });
            var _rotation_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__('./node_modules/d3-geo/src/rotation.js');
            __webpack_require__.d(__webpack_exports__, 'geoRotation', function () {
                return _rotation_js__WEBPACK_IMPORTED_MODULE_31__['default'];
            });
            var _stream_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__('./node_modules/d3-geo/src/stream.js');
            __webpack_require__.d(__webpack_exports__, 'geoStream', function () {
                return _stream_js__WEBPACK_IMPORTED_MODULE_32__['default'];
            });
            var _transform_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__('./node_modules/d3-geo/src/transform.js');
            __webpack_require__.d(__webpack_exports__, 'geoTransform', function () {
                return _transform_js__WEBPACK_IMPORTED_MODULE_33__['default'];
            });
        },
        './node_modules/d3-geo/src/interpolate.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            __webpack_exports__['default'] = function (a, b) {
                var x0 = a[0] * _math_js__WEBPACK_IMPORTED_MODULE_0__['radians'], y0 = a[1] * _math_js__WEBPACK_IMPORTED_MODULE_0__['radians'], x1 = b[0] * _math_js__WEBPACK_IMPORTED_MODULE_0__['radians'], y1 = b[1] * _math_js__WEBPACK_IMPORTED_MODULE_0__['radians'], cy0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(y0), sy0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(y0), cy1 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(y1), sy1 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(y1), kx0 = cy0 * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(x0), ky0 = cy0 * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(x0), kx1 = cy1 * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(x1), ky1 = cy1 * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(x1), d = 2 * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['asin'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sqrt'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['haversin'])(y1 - y0) + cy0 * cy1 * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['haversin'])(x1 - x0))), k = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(d);
                var interpolate = d ? function (t) {
                    var B = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(t *= d) / k, A = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(d - t) / k, x = A * kx0 + B * kx1, y = A * ky0 + B * ky1, z = A * sy0 + B * sy1;
                    return [
                        Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['atan2'])(y, x) * _math_js__WEBPACK_IMPORTED_MODULE_0__['degrees'],
                        Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['atan2'])(z, Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sqrt'])(x * x + y * y)) * _math_js__WEBPACK_IMPORTED_MODULE_0__['degrees']
                    ];
                } : function () {
                    return [
                        x0 * _math_js__WEBPACK_IMPORTED_MODULE_0__['degrees'],
                        y0 * _math_js__WEBPACK_IMPORTED_MODULE_0__['degrees']
                    ];
                };
                interpolate.distance = d;
                return interpolate;
            };
        },
        './node_modules/d3-geo/src/length.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _adder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/adder.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _noop_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/noop.js');
            var _stream_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-geo/src/stream.js');
            var lengthSum = Object(_adder_js__WEBPACK_IMPORTED_MODULE_0__['default'])(), lambda0, sinPhi0, cosPhi0;
            var lengthStream = {
                sphere: _noop_js__WEBPACK_IMPORTED_MODULE_2__['default'],
                point: _noop_js__WEBPACK_IMPORTED_MODULE_2__['default'],
                lineStart: lengthLineStart,
                lineEnd: _noop_js__WEBPACK_IMPORTED_MODULE_2__['default'],
                polygonStart: _noop_js__WEBPACK_IMPORTED_MODULE_2__['default'],
                polygonEnd: _noop_js__WEBPACK_IMPORTED_MODULE_2__['default']
            };
            function lengthLineStart() {
                lengthStream.point = lengthPointFirst;
                lengthStream.lineEnd = lengthLineEnd;
            }
            function lengthLineEnd() {
                lengthStream.point = lengthStream.lineEnd = _noop_js__WEBPACK_IMPORTED_MODULE_2__['default'];
            }
            function lengthPointFirst(lambda, phi) {
                lambda *= _math_js__WEBPACK_IMPORTED_MODULE_1__['radians'], phi *= _math_js__WEBPACK_IMPORTED_MODULE_1__['radians'];
                lambda0 = lambda, sinPhi0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(phi), cosPhi0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(phi);
                lengthStream.point = lengthPoint;
            }
            function lengthPoint(lambda, phi) {
                lambda *= _math_js__WEBPACK_IMPORTED_MODULE_1__['radians'], phi *= _math_js__WEBPACK_IMPORTED_MODULE_1__['radians'];
                var sinPhi = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(phi), cosPhi = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(phi), delta = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])(lambda - lambda0), cosDelta = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(delta), sinDelta = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(delta), x = cosPhi * sinDelta, y = cosPhi0 * sinPhi - sinPhi0 * cosPhi * cosDelta, z = sinPhi0 * sinPhi + cosPhi0 * cosPhi * cosDelta;
                lengthSum.add(Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['atan2'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sqrt'])(x * x + y * y), z));
                lambda0 = lambda, sinPhi0 = sinPhi, cosPhi0 = cosPhi;
            }
            __webpack_exports__['default'] = function (object) {
                lengthSum.reset();
                Object(_stream_js__WEBPACK_IMPORTED_MODULE_3__['default'])(object, lengthStream);
                return +lengthSum;
            };
        },
        './node_modules/d3-geo/src/math.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'epsilon', function () {
                return epsilon;
            });
            __webpack_require__.d(__webpack_exports__, 'epsilon2', function () {
                return epsilon2;
            });
            __webpack_require__.d(__webpack_exports__, 'pi', function () {
                return pi;
            });
            __webpack_require__.d(__webpack_exports__, 'halfPi', function () {
                return halfPi;
            });
            __webpack_require__.d(__webpack_exports__, 'quarterPi', function () {
                return quarterPi;
            });
            __webpack_require__.d(__webpack_exports__, 'tau', function () {
                return tau;
            });
            __webpack_require__.d(__webpack_exports__, 'degrees', function () {
                return degrees;
            });
            __webpack_require__.d(__webpack_exports__, 'radians', function () {
                return radians;
            });
            __webpack_require__.d(__webpack_exports__, 'abs', function () {
                return abs;
            });
            __webpack_require__.d(__webpack_exports__, 'atan', function () {
                return atan;
            });
            __webpack_require__.d(__webpack_exports__, 'atan2', function () {
                return atan2;
            });
            __webpack_require__.d(__webpack_exports__, 'cos', function () {
                return cos;
            });
            __webpack_require__.d(__webpack_exports__, 'ceil', function () {
                return ceil;
            });
            __webpack_require__.d(__webpack_exports__, 'exp', function () {
                return exp;
            });
            __webpack_require__.d(__webpack_exports__, 'floor', function () {
                return floor;
            });
            __webpack_require__.d(__webpack_exports__, 'log', function () {
                return log;
            });
            __webpack_require__.d(__webpack_exports__, 'pow', function () {
                return pow;
            });
            __webpack_require__.d(__webpack_exports__, 'sin', function () {
                return sin;
            });
            __webpack_require__.d(__webpack_exports__, 'sign', function () {
                return sign;
            });
            __webpack_require__.d(__webpack_exports__, 'sqrt', function () {
                return sqrt;
            });
            __webpack_require__.d(__webpack_exports__, 'tan', function () {
                return tan;
            });
            __webpack_require__.d(__webpack_exports__, 'acos', function () {
                return acos;
            });
            __webpack_require__.d(__webpack_exports__, 'asin', function () {
                return asin;
            });
            __webpack_require__.d(__webpack_exports__, 'haversin', function () {
                return haversin;
            });
            var epsilon = 0.000001;
            var epsilon2 = 1e-12;
            var pi = Math.PI;
            var halfPi = pi / 2;
            var quarterPi = pi / 4;
            var tau = pi * 2;
            var degrees = 180 / pi;
            var radians = pi / 180;
            var abs = Math.abs;
            var atan = Math.atan;
            var atan2 = Math.atan2;
            var cos = Math.cos;
            var ceil = Math.ceil;
            var exp = Math.exp;
            var floor = Math.floor;
            var log = Math.log;
            var pow = Math.pow;
            var sin = Math.sin;
            var sign = Math.sign || function (x) {
                return x > 0 ? 1 : x < 0 ? -1 : 0;
            };
            var sqrt = Math.sqrt;
            var tan = Math.tan;
            function acos(x) {
                return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);
            }
            function asin(x) {
                return x > 1 ? halfPi : x < -1 ? -halfPi : Math.asin(x);
            }
            function haversin(x) {
                return (x = sin(x / 2)) * x;
            }
        },
        './node_modules/d3-geo/src/noop.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return noop;
            });
            function noop() {
            }
        },
        './node_modules/d3-geo/src/path/area.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _adder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/adder.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _noop_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/noop.js');
            var areaSum = Object(_adder_js__WEBPACK_IMPORTED_MODULE_0__['default'])(), areaRingSum = Object(_adder_js__WEBPACK_IMPORTED_MODULE_0__['default'])(), x00, y00, x0, y0;
            var areaStream = {
                point: _noop_js__WEBPACK_IMPORTED_MODULE_2__['default'],
                lineStart: _noop_js__WEBPACK_IMPORTED_MODULE_2__['default'],
                lineEnd: _noop_js__WEBPACK_IMPORTED_MODULE_2__['default'],
                polygonStart: function () {
                    areaStream.lineStart = areaRingStart;
                    areaStream.lineEnd = areaRingEnd;
                },
                polygonEnd: function () {
                    areaStream.lineStart = areaStream.lineEnd = areaStream.point = _noop_js__WEBPACK_IMPORTED_MODULE_2__['default'];
                    areaSum.add(Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])(areaRingSum));
                    areaRingSum.reset();
                },
                result: function () {
                    var area = areaSum / 2;
                    areaSum.reset();
                    return area;
                }
            };
            function areaRingStart() {
                areaStream.point = areaPointFirst;
            }
            function areaPointFirst(x, y) {
                areaStream.point = areaPoint;
                x00 = x0 = x, y00 = y0 = y;
            }
            function areaPoint(x, y) {
                areaRingSum.add(y0 * x - x0 * y);
                x0 = x, y0 = y;
            }
            function areaRingEnd() {
                areaPoint(x00, y00);
            }
            __webpack_exports__['default'] = areaStream;
        },
        './node_modules/d3-geo/src/path/bounds.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _noop_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/noop.js');
            var x0 = Infinity, y0 = x0, x1 = -x0, y1 = x1;
            var boundsStream = {
                point: boundsPoint,
                lineStart: _noop_js__WEBPACK_IMPORTED_MODULE_0__['default'],
                lineEnd: _noop_js__WEBPACK_IMPORTED_MODULE_0__['default'],
                polygonStart: _noop_js__WEBPACK_IMPORTED_MODULE_0__['default'],
                polygonEnd: _noop_js__WEBPACK_IMPORTED_MODULE_0__['default'],
                result: function () {
                    var bounds = [
                        [
                            x0,
                            y0
                        ],
                        [
                            x1,
                            y1
                        ]
                    ];
                    x1 = y1 = -(y0 = x0 = Infinity);
                    return bounds;
                }
            };
            function boundsPoint(x, y) {
                if (x < x0)
                    x0 = x;
                if (x > x1)
                    x1 = x;
                if (y < y0)
                    y0 = y;
                if (y > y1)
                    y1 = y;
            }
            __webpack_exports__['default'] = boundsStream;
        },
        './node_modules/d3-geo/src/path/centroid.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var X0 = 0, Y0 = 0, Z0 = 0, X1 = 0, Y1 = 0, Z1 = 0, X2 = 0, Y2 = 0, Z2 = 0, x00, y00, x0, y0;
            var centroidStream = {
                point: centroidPoint,
                lineStart: centroidLineStart,
                lineEnd: centroidLineEnd,
                polygonStart: function () {
                    centroidStream.lineStart = centroidRingStart;
                    centroidStream.lineEnd = centroidRingEnd;
                },
                polygonEnd: function () {
                    centroidStream.point = centroidPoint;
                    centroidStream.lineStart = centroidLineStart;
                    centroidStream.lineEnd = centroidLineEnd;
                },
                result: function () {
                    var centroid = Z2 ? [
                        X2 / Z2,
                        Y2 / Z2
                    ] : Z1 ? [
                        X1 / Z1,
                        Y1 / Z1
                    ] : Z0 ? [
                        X0 / Z0,
                        Y0 / Z0
                    ] : [
                        NaN,
                        NaN
                    ];
                    X0 = Y0 = Z0 = X1 = Y1 = Z1 = X2 = Y2 = Z2 = 0;
                    return centroid;
                }
            };
            function centroidPoint(x, y) {
                X0 += x;
                Y0 += y;
                ++Z0;
            }
            function centroidLineStart() {
                centroidStream.point = centroidPointFirstLine;
            }
            function centroidPointFirstLine(x, y) {
                centroidStream.point = centroidPointLine;
                centroidPoint(x0 = x, y0 = y);
            }
            function centroidPointLine(x, y) {
                var dx = x - x0, dy = y - y0, z = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sqrt'])(dx * dx + dy * dy);
                X1 += z * (x0 + x) / 2;
                Y1 += z * (y0 + y) / 2;
                Z1 += z;
                centroidPoint(x0 = x, y0 = y);
            }
            function centroidLineEnd() {
                centroidStream.point = centroidPoint;
            }
            function centroidRingStart() {
                centroidStream.point = centroidPointFirstRing;
            }
            function centroidRingEnd() {
                centroidPointRing(x00, y00);
            }
            function centroidPointFirstRing(x, y) {
                centroidStream.point = centroidPointRing;
                centroidPoint(x00 = x0 = x, y00 = y0 = y);
            }
            function centroidPointRing(x, y) {
                var dx = x - x0, dy = y - y0, z = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sqrt'])(dx * dx + dy * dy);
                X1 += z * (x0 + x) / 2;
                Y1 += z * (y0 + y) / 2;
                Z1 += z;
                z = y0 * x - x0 * y;
                X2 += z * (x0 + x);
                Y2 += z * (y0 + y);
                Z2 += z * 3;
                centroidPoint(x0 = x, y0 = y);
            }
            __webpack_exports__['default'] = centroidStream;
        },
        './node_modules/d3-geo/src/path/context.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return PathContext;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _noop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/noop.js');
            function PathContext(context) {
                this._context = context;
            }
            PathContext.prototype = {
                _radius: 4.5,
                pointRadius: function (_) {
                    return this._radius = _, this;
                },
                polygonStart: function () {
                    this._line = 0;
                },
                polygonEnd: function () {
                    this._line = NaN;
                },
                lineStart: function () {
                    this._point = 0;
                },
                lineEnd: function () {
                    if (this._line === 0)
                        this._context.closePath();
                    this._point = NaN;
                },
                point: function (x, y) {
                    switch (this._point) {
                    case 0: {
                            this._context.moveTo(x, y);
                            this._point = 1;
                            break;
                        }
                    case 1: {
                            this._context.lineTo(x, y);
                            break;
                        }
                    default: {
                            this._context.moveTo(x + this._radius, y);
                            this._context.arc(x, y, this._radius, 0, _math_js__WEBPACK_IMPORTED_MODULE_0__['tau']);
                            break;
                        }
                    }
                },
                result: _noop_js__WEBPACK_IMPORTED_MODULE_1__['default']
            };
        },
        './node_modules/d3-geo/src/path/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _identity_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/identity.js');
            var _stream_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/stream.js');
            var _area_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/path/area.js');
            var _bounds_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-geo/src/path/bounds.js');
            var _centroid_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-geo/src/path/centroid.js');
            var _context_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-geo/src/path/context.js');
            var _measure_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-geo/src/path/measure.js');
            var _string_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-geo/src/path/string.js');
            __webpack_exports__['default'] = function (projection, context) {
                var pointRadius = 4.5, projectionStream, contextStream;
                function path(object) {
                    if (object) {
                        if (typeof pointRadius === 'function')
                            contextStream.pointRadius(+pointRadius.apply(this, arguments));
                        Object(_stream_js__WEBPACK_IMPORTED_MODULE_1__['default'])(object, projectionStream(contextStream));
                    }
                    return contextStream.result();
                }
                path.area = function (object) {
                    Object(_stream_js__WEBPACK_IMPORTED_MODULE_1__['default'])(object, projectionStream(_area_js__WEBPACK_IMPORTED_MODULE_2__['default']));
                    return _area_js__WEBPACK_IMPORTED_MODULE_2__['default'].result();
                };
                path.measure = function (object) {
                    Object(_stream_js__WEBPACK_IMPORTED_MODULE_1__['default'])(object, projectionStream(_measure_js__WEBPACK_IMPORTED_MODULE_6__['default']));
                    return _measure_js__WEBPACK_IMPORTED_MODULE_6__['default'].result();
                };
                path.bounds = function (object) {
                    Object(_stream_js__WEBPACK_IMPORTED_MODULE_1__['default'])(object, projectionStream(_bounds_js__WEBPACK_IMPORTED_MODULE_3__['default']));
                    return _bounds_js__WEBPACK_IMPORTED_MODULE_3__['default'].result();
                };
                path.centroid = function (object) {
                    Object(_stream_js__WEBPACK_IMPORTED_MODULE_1__['default'])(object, projectionStream(_centroid_js__WEBPACK_IMPORTED_MODULE_4__['default']));
                    return _centroid_js__WEBPACK_IMPORTED_MODULE_4__['default'].result();
                };
                path.projection = function (_) {
                    return arguments.length ? (projectionStream = _ == null ? (projection = null, _identity_js__WEBPACK_IMPORTED_MODULE_0__['default']) : (projection = _).stream, path) : projection;
                };
                path.context = function (_) {
                    if (!arguments.length)
                        return context;
                    contextStream = _ == null ? (context = null, new _string_js__WEBPACK_IMPORTED_MODULE_7__['default']()) : new _context_js__WEBPACK_IMPORTED_MODULE_5__['default'](context = _);
                    if (typeof pointRadius !== 'function')
                        contextStream.pointRadius(pointRadius);
                    return path;
                };
                path.pointRadius = function (_) {
                    if (!arguments.length)
                        return pointRadius;
                    pointRadius = typeof _ === 'function' ? _ : (contextStream.pointRadius(+_), +_);
                    return path;
                };
                return path.projection(projection).context(context);
            };
        },
        './node_modules/d3-geo/src/path/measure.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _adder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/adder.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _noop_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/noop.js');
            var lengthSum = Object(_adder_js__WEBPACK_IMPORTED_MODULE_0__['default'])(), lengthRing, x00, y00, x0, y0;
            var lengthStream = {
                point: _noop_js__WEBPACK_IMPORTED_MODULE_2__['default'],
                lineStart: function () {
                    lengthStream.point = lengthPointFirst;
                },
                lineEnd: function () {
                    if (lengthRing)
                        lengthPoint(x00, y00);
                    lengthStream.point = _noop_js__WEBPACK_IMPORTED_MODULE_2__['default'];
                },
                polygonStart: function () {
                    lengthRing = true;
                },
                polygonEnd: function () {
                    lengthRing = null;
                },
                result: function () {
                    var length = +lengthSum;
                    lengthSum.reset();
                    return length;
                }
            };
            function lengthPointFirst(x, y) {
                lengthStream.point = lengthPoint;
                x00 = x0 = x, y00 = y0 = y;
            }
            function lengthPoint(x, y) {
                x0 -= x, y0 -= y;
                lengthSum.add(Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sqrt'])(x0 * x0 + y0 * y0));
                x0 = x, y0 = y;
            }
            __webpack_exports__['default'] = lengthStream;
        },
        './node_modules/d3-geo/src/path/string.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return PathString;
            });
            function PathString() {
                this._string = [];
            }
            PathString.prototype = {
                _radius: 4.5,
                _circle: circle(4.5),
                pointRadius: function (_) {
                    if ((_ = +_) !== this._radius)
                        this._radius = _, this._circle = null;
                    return this;
                },
                polygonStart: function () {
                    this._line = 0;
                },
                polygonEnd: function () {
                    this._line = NaN;
                },
                lineStart: function () {
                    this._point = 0;
                },
                lineEnd: function () {
                    if (this._line === 0)
                        this._string.push('Z');
                    this._point = NaN;
                },
                point: function (x, y) {
                    switch (this._point) {
                    case 0: {
                            this._string.push('M', x, ',', y);
                            this._point = 1;
                            break;
                        }
                    case 1: {
                            this._string.push('L', x, ',', y);
                            break;
                        }
                    default: {
                            if (this._circle == null)
                                this._circle = circle(this._radius);
                            this._string.push('M', x, ',', y, this._circle);
                            break;
                        }
                    }
                },
                result: function () {
                    if (this._string.length) {
                        var result = this._string.join('');
                        this._string = [];
                        return result;
                    } else {
                        return null;
                    }
                }
            };
            function circle(radius) {
                return 'm0,' + radius + 'a' + radius + ',' + radius + ' 0 1,1 0,' + -2 * radius + 'a' + radius + ',' + radius + ' 0 1,1 0,' + 2 * radius + 'z';
            }
        },
        './node_modules/d3-geo/src/pointEqual.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            __webpack_exports__['default'] = function (a, b) {
                return Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['abs'])(a[0] - b[0]) < _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon'] && Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['abs'])(a[1] - b[1]) < _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon'];
            };
        },
        './node_modules/d3-geo/src/polygonContains.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _adder_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/adder.js');
            var _cartesian_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/cartesian.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var sum = Object(_adder_js__WEBPACK_IMPORTED_MODULE_0__['default'])();
            function longitude(point) {
                if (Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['abs'])(point[0]) <= _math_js__WEBPACK_IMPORTED_MODULE_2__['pi'])
                    return point[0];
                else
                    return Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sign'])(point[0]) * ((Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['abs'])(point[0]) + _math_js__WEBPACK_IMPORTED_MODULE_2__['pi']) % _math_js__WEBPACK_IMPORTED_MODULE_2__['tau'] - _math_js__WEBPACK_IMPORTED_MODULE_2__['pi']);
            }
            __webpack_exports__['default'] = function (polygon, point) {
                var lambda = longitude(point), phi = point[1], sinPhi = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(phi), normal = [
                        Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(lambda),
                        -Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['cos'])(lambda),
                        0
                    ], angle = 0, winding = 0;
                sum.reset();
                if (sinPhi === 1)
                    phi = _math_js__WEBPACK_IMPORTED_MODULE_2__['halfPi'] + _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon'];
                else if (sinPhi === -1)
                    phi = -_math_js__WEBPACK_IMPORTED_MODULE_2__['halfPi'] - _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon'];
                for (var i = 0, n = polygon.length; i < n; ++i) {
                    if (!(m = (ring = polygon[i]).length))
                        continue;
                    var ring, m, point0 = ring[m - 1], lambda0 = longitude(point0), phi0 = point0[1] / 2 + _math_js__WEBPACK_IMPORTED_MODULE_2__['quarterPi'], sinPhi0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(phi0), cosPhi0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['cos'])(phi0);
                    for (var j = 0; j < m; ++j, lambda0 = lambda1, sinPhi0 = sinPhi1, cosPhi0 = cosPhi1, point0 = point1) {
                        var point1 = ring[j], lambda1 = longitude(point1), phi1 = point1[1] / 2 + _math_js__WEBPACK_IMPORTED_MODULE_2__['quarterPi'], sinPhi1 = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(phi1), cosPhi1 = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['cos'])(phi1), delta = lambda1 - lambda0, sign = delta >= 0 ? 1 : -1, absDelta = sign * delta, antimeridian = absDelta > _math_js__WEBPACK_IMPORTED_MODULE_2__['pi'], k = sinPhi0 * sinPhi1;
                        sum.add(Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(k * sign * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(absDelta), cosPhi0 * cosPhi1 + k * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['cos'])(absDelta)));
                        angle += antimeridian ? delta + sign * _math_js__WEBPACK_IMPORTED_MODULE_2__['tau'] : delta;
                        if (antimeridian ^ lambda0 >= lambda ^ lambda1 >= lambda) {
                            var arc = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_1__['cartesianCross'])(Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_1__['cartesian'])(point0), Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_1__['cartesian'])(point1));
                            Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_1__['cartesianNormalizeInPlace'])(arc);
                            var intersection = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_1__['cartesianCross'])(normal, arc);
                            Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_1__['cartesianNormalizeInPlace'])(intersection);
                            var phiArc = (antimeridian ^ delta >= 0 ? -1 : 1) * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['asin'])(intersection[2]);
                            if (phi > phiArc || phi === phiArc && (arc[0] || arc[1])) {
                                winding += antimeridian ^ delta >= 0 ? 1 : -1;
                            }
                        }
                    }
                }
                return (angle < -_math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon'] || angle < _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon'] && sum < -_math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon']) ^ winding & 1;
            };
        },
        './node_modules/d3-geo/src/projection/albers.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _conicEqualArea_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/projection/conicEqualArea.js');
            __webpack_exports__['default'] = function () {
                return Object(_conicEqualArea_js__WEBPACK_IMPORTED_MODULE_0__['default'])().parallels([
                    29.5,
                    45.5
                ]).scale(1070).translate([
                    480,
                    250
                ]).rotate([
                    96,
                    0
                ]).center([
                    -0.6,
                    38.7
                ]);
            };
        },
        './node_modules/d3-geo/src/projection/albersUsa.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _albers_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/projection/albers.js');
            var _conicEqualArea_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/projection/conicEqualArea.js');
            var _fit_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-geo/src/projection/fit.js');
            function multiplex(streams) {
                var n = streams.length;
                return {
                    point: function (x, y) {
                        var i = -1;
                        while (++i < n)
                            streams[i].point(x, y);
                    },
                    sphere: function () {
                        var i = -1;
                        while (++i < n)
                            streams[i].sphere();
                    },
                    lineStart: function () {
                        var i = -1;
                        while (++i < n)
                            streams[i].lineStart();
                    },
                    lineEnd: function () {
                        var i = -1;
                        while (++i < n)
                            streams[i].lineEnd();
                    },
                    polygonStart: function () {
                        var i = -1;
                        while (++i < n)
                            streams[i].polygonStart();
                    },
                    polygonEnd: function () {
                        var i = -1;
                        while (++i < n)
                            streams[i].polygonEnd();
                    }
                };
            }
            __webpack_exports__['default'] = function () {
                var cache, cacheStream, lower48 = Object(_albers_js__WEBPACK_IMPORTED_MODULE_1__['default'])(), lower48Point, alaska = Object(_conicEqualArea_js__WEBPACK_IMPORTED_MODULE_2__['default'])().rotate([
                        154,
                        0
                    ]).center([
                        -2,
                        58.5
                    ]).parallels([
                        55,
                        65
                    ]), alaskaPoint, hawaii = Object(_conicEqualArea_js__WEBPACK_IMPORTED_MODULE_2__['default'])().rotate([
                        157,
                        0
                    ]).center([
                        -3,
                        19.9
                    ]).parallels([
                        8,
                        18
                    ]), hawaiiPoint, point, pointStream = {
                        point: function (x, y) {
                            point = [
                                x,
                                y
                            ];
                        }
                    };
                function albersUsa(coordinates) {
                    var x = coordinates[0], y = coordinates[1];
                    return point = null, (lower48Point.point(x, y), point) || (alaskaPoint.point(x, y), point) || (hawaiiPoint.point(x, y), point);
                }
                albersUsa.invert = function (coordinates) {
                    var k = lower48.scale(), t = lower48.translate(), x = (coordinates[0] - t[0]) / k, y = (coordinates[1] - t[1]) / k;
                    return (y >= 0.12 && y < 0.234 && x >= -0.425 && x < -0.214 ? alaska : y >= 0.166 && y < 0.234 && x >= -0.214 && x < -0.115 ? hawaii : lower48).invert(coordinates);
                };
                albersUsa.stream = function (stream) {
                    return cache && cacheStream === stream ? cache : cache = multiplex([
                        lower48.stream(cacheStream = stream),
                        alaska.stream(stream),
                        hawaii.stream(stream)
                    ]);
                };
                albersUsa.precision = function (_) {
                    if (!arguments.length)
                        return lower48.precision();
                    lower48.precision(_), alaska.precision(_), hawaii.precision(_);
                    return reset();
                };
                albersUsa.scale = function (_) {
                    if (!arguments.length)
                        return lower48.scale();
                    lower48.scale(_), alaska.scale(_ * 0.35), hawaii.scale(_);
                    return albersUsa.translate(lower48.translate());
                };
                albersUsa.translate = function (_) {
                    if (!arguments.length)
                        return lower48.translate();
                    var k = lower48.scale(), x = +_[0], y = +_[1];
                    lower48Point = lower48.translate(_).clipExtent([
                        [
                            x - 0.455 * k,
                            y - 0.238 * k
                        ],
                        [
                            x + 0.455 * k,
                            y + 0.238 * k
                        ]
                    ]).stream(pointStream);
                    alaskaPoint = alaska.translate([
                        x - 0.307 * k,
                        y + 0.201 * k
                    ]).clipExtent([
                        [
                            x - 0.425 * k + _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon'],
                            y + 0.12 * k + _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon']
                        ],
                        [
                            x - 0.214 * k - _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon'],
                            y + 0.234 * k - _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon']
                        ]
                    ]).stream(pointStream);
                    hawaiiPoint = hawaii.translate([
                        x - 0.205 * k,
                        y + 0.212 * k
                    ]).clipExtent([
                        [
                            x - 0.214 * k + _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon'],
                            y + 0.166 * k + _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon']
                        ],
                        [
                            x - 0.115 * k - _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon'],
                            y + 0.234 * k - _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon']
                        ]
                    ]).stream(pointStream);
                    return reset();
                };
                albersUsa.fitExtent = function (extent, object) {
                    return Object(_fit_js__WEBPACK_IMPORTED_MODULE_3__['fitExtent'])(albersUsa, extent, object);
                };
                albersUsa.fitSize = function (size, object) {
                    return Object(_fit_js__WEBPACK_IMPORTED_MODULE_3__['fitSize'])(albersUsa, size, object);
                };
                albersUsa.fitWidth = function (width, object) {
                    return Object(_fit_js__WEBPACK_IMPORTED_MODULE_3__['fitWidth'])(albersUsa, width, object);
                };
                albersUsa.fitHeight = function (height, object) {
                    return Object(_fit_js__WEBPACK_IMPORTED_MODULE_3__['fitHeight'])(albersUsa, height, object);
                };
                function reset() {
                    cache = cacheStream = null;
                    return albersUsa;
                }
                return albersUsa.scale(1070);
            };
        },
        './node_modules/d3-geo/src/projection/azimuthal.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'azimuthalRaw', function () {
                return azimuthalRaw;
            });
            __webpack_require__.d(__webpack_exports__, 'azimuthalInvert', function () {
                return azimuthalInvert;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            function azimuthalRaw(scale) {
                return function (x, y) {
                    var cx = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(x), cy = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(y), k = scale(cx * cy);
                    return [
                        k * cy * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(x),
                        k * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(y)
                    ];
                };
            }
            function azimuthalInvert(angle) {
                return function (x, y) {
                    var z = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sqrt'])(x * x + y * y), c = angle(z), sc = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(c), cc = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(c);
                    return [
                        Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['atan2'])(x * sc, z * cc),
                        Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['asin'])(z && y * sc / z)
                    ];
                };
            }
        },
        './node_modules/d3-geo/src/projection/azimuthalEqualArea.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'azimuthalEqualAreaRaw', function () {
                return azimuthalEqualAreaRaw;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _azimuthal_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/projection/azimuthal.js');
            var _index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/projection/index.js');
            var azimuthalEqualAreaRaw = Object(_azimuthal_js__WEBPACK_IMPORTED_MODULE_1__['azimuthalRaw'])(function (cxcy) {
                return Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sqrt'])(2 / (1 + cxcy));
            });
            azimuthalEqualAreaRaw.invert = Object(_azimuthal_js__WEBPACK_IMPORTED_MODULE_1__['azimuthalInvert'])(function (z) {
                return 2 * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['asin'])(z / 2);
            });
            __webpack_exports__['default'] = function () {
                return Object(_index_js__WEBPACK_IMPORTED_MODULE_2__['default'])(azimuthalEqualAreaRaw).scale(124.75).clipAngle(180 - 0.001);
            };
        },
        './node_modules/d3-geo/src/projection/azimuthalEquidistant.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'azimuthalEquidistantRaw', function () {
                return azimuthalEquidistantRaw;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _azimuthal_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/projection/azimuthal.js');
            var _index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/projection/index.js');
            var azimuthalEquidistantRaw = Object(_azimuthal_js__WEBPACK_IMPORTED_MODULE_1__['azimuthalRaw'])(function (c) {
                return (c = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['acos'])(c)) && c / Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(c);
            });
            azimuthalEquidistantRaw.invert = Object(_azimuthal_js__WEBPACK_IMPORTED_MODULE_1__['azimuthalInvert'])(function (z) {
                return z;
            });
            __webpack_exports__['default'] = function () {
                return Object(_index_js__WEBPACK_IMPORTED_MODULE_2__['default'])(azimuthalEquidistantRaw).scale(79.4188).clipAngle(180 - 0.001);
            };
        },
        './node_modules/d3-geo/src/projection/conic.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'conicProjection', function () {
                return conicProjection;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/projection/index.js');
            function conicProjection(projectAt) {
                var phi0 = 0, phi1 = _math_js__WEBPACK_IMPORTED_MODULE_0__['pi'] / 3, m = Object(_index_js__WEBPACK_IMPORTED_MODULE_1__['projectionMutator'])(projectAt), p = m(phi0, phi1);
                p.parallels = function (_) {
                    return arguments.length ? m(phi0 = _[0] * _math_js__WEBPACK_IMPORTED_MODULE_0__['radians'], phi1 = _[1] * _math_js__WEBPACK_IMPORTED_MODULE_0__['radians']) : [
                        phi0 * _math_js__WEBPACK_IMPORTED_MODULE_0__['degrees'],
                        phi1 * _math_js__WEBPACK_IMPORTED_MODULE_0__['degrees']
                    ];
                };
                return p;
            }
        },
        './node_modules/d3-geo/src/projection/conicConformal.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'conicConformalRaw', function () {
                return conicConformalRaw;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _conic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/projection/conic.js');
            var _mercator_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/projection/mercator.js');
            function tany(y) {
                return Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['tan'])((_math_js__WEBPACK_IMPORTED_MODULE_0__['halfPi'] + y) / 2);
            }
            function conicConformalRaw(y0, y1) {
                var cy0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(y0), n = y0 === y1 ? Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(y0) : Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['log'])(cy0 / Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(y1)) / Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['log'])(tany(y1) / tany(y0)), f = cy0 * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['pow'])(tany(y0), n) / n;
                if (!n)
                    return _mercator_js__WEBPACK_IMPORTED_MODULE_2__['mercatorRaw'];
                function project(x, y) {
                    if (f > 0) {
                        if (y < -_math_js__WEBPACK_IMPORTED_MODULE_0__['halfPi'] + _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon'])
                            y = -_math_js__WEBPACK_IMPORTED_MODULE_0__['halfPi'] + _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon'];
                    } else {
                        if (y > _math_js__WEBPACK_IMPORTED_MODULE_0__['halfPi'] - _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon'])
                            y = _math_js__WEBPACK_IMPORTED_MODULE_0__['halfPi'] - _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon'];
                    }
                    var r = f / Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['pow'])(tany(y), n);
                    return [
                        r * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(n * x),
                        f - r * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(n * x)
                    ];
                }
                project.invert = function (x, y) {
                    var fy = f - y, r = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sign'])(n) * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sqrt'])(x * x + fy * fy), l = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['atan2'])(x, Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['abs'])(fy)) * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sign'])(fy);
                    if (fy * n < 0)
                        l -= _math_js__WEBPACK_IMPORTED_MODULE_0__['pi'] * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sign'])(x) * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sign'])(fy);
                    return [
                        l / n,
                        2 * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['atan'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['pow'])(f / r, 1 / n)) - _math_js__WEBPACK_IMPORTED_MODULE_0__['halfPi']
                    ];
                };
                return project;
            }
            __webpack_exports__['default'] = function () {
                return Object(_conic_js__WEBPACK_IMPORTED_MODULE_1__['conicProjection'])(conicConformalRaw).scale(109.5).parallels([
                    30,
                    30
                ]);
            };
        },
        './node_modules/d3-geo/src/projection/conicEqualArea.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'conicEqualAreaRaw', function () {
                return conicEqualAreaRaw;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _conic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/projection/conic.js');
            var _cylindricalEqualArea_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/projection/cylindricalEqualArea.js');
            function conicEqualAreaRaw(y0, y1) {
                var sy0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(y0), n = (sy0 + Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(y1)) / 2;
                if (Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['abs'])(n) < _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon'])
                    return Object(_cylindricalEqualArea_js__WEBPACK_IMPORTED_MODULE_2__['cylindricalEqualAreaRaw'])(y0);
                var c = 1 + sy0 * (2 * n - sy0), r0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sqrt'])(c) / n;
                function project(x, y) {
                    var r = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sqrt'])(c - 2 * n * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(y)) / n;
                    return [
                        r * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(x *= n),
                        r0 - r * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(x)
                    ];
                }
                project.invert = function (x, y) {
                    var r0y = r0 - y, l = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['atan2'])(x, Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['abs'])(r0y)) * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sign'])(r0y);
                    if (r0y * n < 0)
                        l -= _math_js__WEBPACK_IMPORTED_MODULE_0__['pi'] * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sign'])(x) * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sign'])(r0y);
                    return [
                        l / n,
                        Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['asin'])((c - (x * x + r0y * r0y) * n * n) / (2 * n))
                    ];
                };
                return project;
            }
            __webpack_exports__['default'] = function () {
                return Object(_conic_js__WEBPACK_IMPORTED_MODULE_1__['conicProjection'])(conicEqualAreaRaw).scale(155.424).center([
                    0,
                    33.6442
                ]);
            };
        },
        './node_modules/d3-geo/src/projection/conicEquidistant.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'conicEquidistantRaw', function () {
                return conicEquidistantRaw;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _conic_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/projection/conic.js');
            var _equirectangular_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/projection/equirectangular.js');
            function conicEquidistantRaw(y0, y1) {
                var cy0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(y0), n = y0 === y1 ? Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(y0) : (cy0 - Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(y1)) / (y1 - y0), g = cy0 / n + y0;
                if (Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['abs'])(n) < _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon'])
                    return _equirectangular_js__WEBPACK_IMPORTED_MODULE_2__['equirectangularRaw'];
                function project(x, y) {
                    var gy = g - y, nx = n * x;
                    return [
                        gy * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(nx),
                        g - gy * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(nx)
                    ];
                }
                project.invert = function (x, y) {
                    var gy = g - y, l = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['atan2'])(x, Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['abs'])(gy)) * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sign'])(gy);
                    if (gy * n < 0)
                        l -= _math_js__WEBPACK_IMPORTED_MODULE_0__['pi'] * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sign'])(x) * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sign'])(gy);
                    return [
                        l / n,
                        g - Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sign'])(n) * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sqrt'])(x * x + gy * gy)
                    ];
                };
                return project;
            }
            __webpack_exports__['default'] = function () {
                return Object(_conic_js__WEBPACK_IMPORTED_MODULE_1__['conicProjection'])(conicEquidistantRaw).scale(131.154).center([
                    0,
                    13.9389
                ]);
            };
        },
        './node_modules/d3-geo/src/projection/cylindricalEqualArea.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'cylindricalEqualAreaRaw', function () {
                return cylindricalEqualAreaRaw;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            function cylindricalEqualAreaRaw(phi0) {
                var cosPhi0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(phi0);
                function forward(lambda, phi) {
                    return [
                        lambda * cosPhi0,
                        Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(phi) / cosPhi0
                    ];
                }
                forward.invert = function (x, y) {
                    return [
                        x / cosPhi0,
                        Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['asin'])(y * cosPhi0)
                    ];
                };
                return forward;
            }
        },
        './node_modules/d3-geo/src/projection/equalEarth.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'equalEarthRaw', function () {
                return equalEarthRaw;
            });
            var _index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/projection/index.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var A1 = 1.340264, A2 = -0.081106, A3 = 0.000893, A4 = 0.003796, M = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sqrt'])(3) / 2, iterations = 12;
            function equalEarthRaw(lambda, phi) {
                var l = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['asin'])(M * Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(phi)), l2 = l * l, l6 = l2 * l2 * l2;
                return [
                    lambda * Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(l) / (M * (A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2))),
                    l * (A1 + A2 * l2 + l6 * (A3 + A4 * l2))
                ];
            }
            equalEarthRaw.invert = function (x, y) {
                var l = y, l2 = l * l, l6 = l2 * l2 * l2;
                for (var i = 0, delta, fy, fpy; i < iterations; ++i) {
                    fy = l * (A1 + A2 * l2 + l6 * (A3 + A4 * l2)) - y;
                    fpy = A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2);
                    l -= delta = fy / fpy, l2 = l * l, l6 = l2 * l2 * l2;
                    if (Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])(delta) < _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon2'])
                        break;
                }
                return [
                    M * x * (A1 + 3 * A2 * l2 + l6 * (7 * A3 + 9 * A4 * l2)) / Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(l),
                    Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['asin'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(l) / M)
                ];
            };
            __webpack_exports__['default'] = function () {
                return Object(_index_js__WEBPACK_IMPORTED_MODULE_0__['default'])(equalEarthRaw).scale(177.158);
            };
        },
        './node_modules/d3-geo/src/projection/equirectangular.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'equirectangularRaw', function () {
                return equirectangularRaw;
            });
            var _index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/projection/index.js');
            function equirectangularRaw(lambda, phi) {
                return [
                    lambda,
                    phi
                ];
            }
            equirectangularRaw.invert = equirectangularRaw;
            __webpack_exports__['default'] = function () {
                return Object(_index_js__WEBPACK_IMPORTED_MODULE_0__['default'])(equirectangularRaw).scale(152.63);
            };
        },
        './node_modules/d3-geo/src/projection/fit.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'fitExtent', function () {
                return fitExtent;
            });
            __webpack_require__.d(__webpack_exports__, 'fitSize', function () {
                return fitSize;
            });
            __webpack_require__.d(__webpack_exports__, 'fitWidth', function () {
                return fitWidth;
            });
            __webpack_require__.d(__webpack_exports__, 'fitHeight', function () {
                return fitHeight;
            });
            var _stream_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/stream.js');
            var _path_bounds_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/path/bounds.js');
            function fit(projection, fitBounds, object) {
                var clip = projection.clipExtent && projection.clipExtent();
                projection.scale(150).translate([
                    0,
                    0
                ]);
                if (clip != null)
                    projection.clipExtent(null);
                Object(_stream_js__WEBPACK_IMPORTED_MODULE_0__['default'])(object, projection.stream(_path_bounds_js__WEBPACK_IMPORTED_MODULE_1__['default']));
                fitBounds(_path_bounds_js__WEBPACK_IMPORTED_MODULE_1__['default'].result());
                if (clip != null)
                    projection.clipExtent(clip);
                return projection;
            }
            function fitExtent(projection, extent, object) {
                return fit(projection, function (b) {
                    var w = extent[1][0] - extent[0][0], h = extent[1][1] - extent[0][1], k = Math.min(w / (b[1][0] - b[0][0]), h / (b[1][1] - b[0][1])), x = +extent[0][0] + (w - k * (b[1][0] + b[0][0])) / 2, y = +extent[0][1] + (h - k * (b[1][1] + b[0][1])) / 2;
                    projection.scale(150 * k).translate([
                        x,
                        y
                    ]);
                }, object);
            }
            function fitSize(projection, size, object) {
                return fitExtent(projection, [
                    [
                        0,
                        0
                    ],
                    size
                ], object);
            }
            function fitWidth(projection, width, object) {
                return fit(projection, function (b) {
                    var w = +width, k = w / (b[1][0] - b[0][0]), x = (w - k * (b[1][0] + b[0][0])) / 2, y = -k * b[0][1];
                    projection.scale(150 * k).translate([
                        x,
                        y
                    ]);
                }, object);
            }
            function fitHeight(projection, height, object) {
                return fit(projection, function (b) {
                    var h = +height, k = h / (b[1][1] - b[0][1]), x = -k * b[0][0], y = (h - k * (b[1][1] + b[0][1])) / 2;
                    projection.scale(150 * k).translate([
                        x,
                        y
                    ]);
                }, object);
            }
        },
        './node_modules/d3-geo/src/projection/gnomonic.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'gnomonicRaw', function () {
                return gnomonicRaw;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _azimuthal_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/projection/azimuthal.js');
            var _index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/projection/index.js');
            function gnomonicRaw(x, y) {
                var cy = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(y), k = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(x) * cy;
                return [
                    cy * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(x) / k,
                    Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(y) / k
                ];
            }
            gnomonicRaw.invert = Object(_azimuthal_js__WEBPACK_IMPORTED_MODULE_1__['azimuthalInvert'])(_math_js__WEBPACK_IMPORTED_MODULE_0__['atan']);
            __webpack_exports__['default'] = function () {
                return Object(_index_js__WEBPACK_IMPORTED_MODULE_2__['default'])(gnomonicRaw).scale(144.049).clipAngle(60);
            };
        },
        './node_modules/d3-geo/src/projection/identity.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _clip_rectangle_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/clip/rectangle.js');
            var _identity_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/identity.js');
            var _transform_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/transform.js');
            var _fit_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-geo/src/projection/fit.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            __webpack_exports__['default'] = function () {
                var k = 1, tx = 0, ty = 0, sx = 1, sy = 1, alpha = 0, ca, sa, x0 = null, y0, x1, y1, kx = 1, ky = 1, transform = Object(_transform_js__WEBPACK_IMPORTED_MODULE_2__['transformer'])({
                        point: function (x, y) {
                            var p = projection([
                                x,
                                y
                            ]);
                            this.stream.point(p[0], p[1]);
                        }
                    }), postclip = _identity_js__WEBPACK_IMPORTED_MODULE_1__['default'], cache, cacheStream;
                function reset() {
                    kx = k * sx;
                    ky = k * sy;
                    cache = cacheStream = null;
                    return projection;
                }
                function projection(p) {
                    var x = p[0] * kx, y = p[1] * ky;
                    if (alpha) {
                        var t = y * ca - x * sa;
                        x = x * ca + y * sa;
                        y = t;
                    }
                    return [
                        x + tx,
                        y + ty
                    ];
                }
                projection.invert = function (p) {
                    var x = p[0] - tx, y = p[1] - ty;
                    if (alpha) {
                        var t = y * ca + x * sa;
                        x = x * ca - y * sa;
                        y = t;
                    }
                    return [
                        x / kx,
                        y / ky
                    ];
                };
                projection.stream = function (stream) {
                    return cache && cacheStream === stream ? cache : cache = transform(postclip(cacheStream = stream));
                };
                projection.postclip = function (_) {
                    return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;
                };
                projection.clipExtent = function (_) {
                    return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, _identity_js__WEBPACK_IMPORTED_MODULE_1__['default']) : Object(_clip_rectangle_js__WEBPACK_IMPORTED_MODULE_0__['default'])(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [
                        [
                            x0,
                            y0
                        ],
                        [
                            x1,
                            y1
                        ]
                    ];
                };
                projection.scale = function (_) {
                    return arguments.length ? (k = +_, reset()) : k;
                };
                projection.translate = function (_) {
                    return arguments.length ? (tx = +_[0], ty = +_[1], reset()) : [
                        tx,
                        ty
                    ];
                };
                projection.angle = function (_) {
                    return arguments.length ? (alpha = _ % 360 * _math_js__WEBPACK_IMPORTED_MODULE_4__['radians'], sa = Object(_math_js__WEBPACK_IMPORTED_MODULE_4__['sin'])(alpha), ca = Object(_math_js__WEBPACK_IMPORTED_MODULE_4__['cos'])(alpha), reset()) : alpha * _math_js__WEBPACK_IMPORTED_MODULE_4__['degrees'];
                };
                projection.reflectX = function (_) {
                    return arguments.length ? (sx = _ ? -1 : 1, reset()) : sx < 0;
                };
                projection.reflectY = function (_) {
                    return arguments.length ? (sy = _ ? -1 : 1, reset()) : sy < 0;
                };
                projection.fitExtent = function (extent, object) {
                    return Object(_fit_js__WEBPACK_IMPORTED_MODULE_3__['fitExtent'])(projection, extent, object);
                };
                projection.fitSize = function (size, object) {
                    return Object(_fit_js__WEBPACK_IMPORTED_MODULE_3__['fitSize'])(projection, size, object);
                };
                projection.fitWidth = function (width, object) {
                    return Object(_fit_js__WEBPACK_IMPORTED_MODULE_3__['fitWidth'])(projection, width, object);
                };
                projection.fitHeight = function (height, object) {
                    return Object(_fit_js__WEBPACK_IMPORTED_MODULE_3__['fitHeight'])(projection, height, object);
                };
                return projection;
            };
        },
        './node_modules/d3-geo/src/projection/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return projection;
            });
            __webpack_require__.d(__webpack_exports__, 'projectionMutator', function () {
                return projectionMutator;
            });
            var _clip_antimeridian_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/clip/antimeridian.js');
            var _clip_circle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/clip/circle.js');
            var _clip_rectangle_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/clip/rectangle.js');
            var _compose_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-geo/src/compose.js');
            var _identity_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-geo/src/identity.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _rotation_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-geo/src/rotation.js');
            var _transform_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-geo/src/transform.js');
            var _fit_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-geo/src/projection/fit.js');
            var _resample_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__('./node_modules/d3-geo/src/projection/resample.js');
            var transformRadians = Object(_transform_js__WEBPACK_IMPORTED_MODULE_7__['transformer'])({
                point: function (x, y) {
                    this.stream.point(x * _math_js__WEBPACK_IMPORTED_MODULE_5__['radians'], y * _math_js__WEBPACK_IMPORTED_MODULE_5__['radians']);
                }
            });
            function transformRotate(rotate) {
                return Object(_transform_js__WEBPACK_IMPORTED_MODULE_7__['transformer'])({
                    point: function (x, y) {
                        var r = rotate(x, y);
                        return this.stream.point(r[0], r[1]);
                    }
                });
            }
            function scaleTranslate(k, dx, dy, sx, sy) {
                function transform(x, y) {
                    x *= sx;
                    y *= sy;
                    return [
                        dx + k * x,
                        dy - k * y
                    ];
                }
                transform.invert = function (x, y) {
                    return [
                        (x - dx) / k * sx,
                        (dy - y) / k * sy
                    ];
                };
                return transform;
            }
            function scaleTranslateRotate(k, dx, dy, sx, sy, alpha) {
                var cosAlpha = Object(_math_js__WEBPACK_IMPORTED_MODULE_5__['cos'])(alpha), sinAlpha = Object(_math_js__WEBPACK_IMPORTED_MODULE_5__['sin'])(alpha), a = cosAlpha * k, b = sinAlpha * k, ai = cosAlpha / k, bi = sinAlpha / k, ci = (sinAlpha * dy - cosAlpha * dx) / k, fi = (sinAlpha * dx + cosAlpha * dy) / k;
                function transform(x, y) {
                    x *= sx;
                    y *= sy;
                    return [
                        a * x - b * y + dx,
                        dy - b * x - a * y
                    ];
                }
                transform.invert = function (x, y) {
                    return [
                        sx * (ai * x - bi * y + ci),
                        sy * (fi - bi * x - ai * y)
                    ];
                };
                return transform;
            }
            function projection(project) {
                return projectionMutator(function () {
                    return project;
                })();
            }
            function projectionMutator(projectAt) {
                var project, k = 150, x = 480, y = 250, lambda = 0, phi = 0, deltaLambda = 0, deltaPhi = 0, deltaGamma = 0, rotate, alpha = 0, sx = 1, sy = 1, theta = null, preclip = _clip_antimeridian_js__WEBPACK_IMPORTED_MODULE_0__['default'], x0 = null, y0, x1, y1, postclip = _identity_js__WEBPACK_IMPORTED_MODULE_4__['default'], delta2 = 0.5, projectResample, projectTransform, projectRotateTransform, cache, cacheStream;
                function projection(point) {
                    return projectRotateTransform(point[0] * _math_js__WEBPACK_IMPORTED_MODULE_5__['radians'], point[1] * _math_js__WEBPACK_IMPORTED_MODULE_5__['radians']);
                }
                function invert(point) {
                    point = projectRotateTransform.invert(point[0], point[1]);
                    return point && [
                        point[0] * _math_js__WEBPACK_IMPORTED_MODULE_5__['degrees'],
                        point[1] * _math_js__WEBPACK_IMPORTED_MODULE_5__['degrees']
                    ];
                }
                projection.stream = function (stream) {
                    return cache && cacheStream === stream ? cache : cache = transformRadians(transformRotate(rotate)(preclip(projectResample(postclip(cacheStream = stream)))));
                };
                projection.preclip = function (_) {
                    return arguments.length ? (preclip = _, theta = undefined, reset()) : preclip;
                };
                projection.postclip = function (_) {
                    return arguments.length ? (postclip = _, x0 = y0 = x1 = y1 = null, reset()) : postclip;
                };
                projection.clipAngle = function (_) {
                    return arguments.length ? (preclip = +_ ? Object(_clip_circle_js__WEBPACK_IMPORTED_MODULE_1__['default'])(theta = _ * _math_js__WEBPACK_IMPORTED_MODULE_5__['radians']) : (theta = null, _clip_antimeridian_js__WEBPACK_IMPORTED_MODULE_0__['default']), reset()) : theta * _math_js__WEBPACK_IMPORTED_MODULE_5__['degrees'];
                };
                projection.clipExtent = function (_) {
                    return arguments.length ? (postclip = _ == null ? (x0 = y0 = x1 = y1 = null, _identity_js__WEBPACK_IMPORTED_MODULE_4__['default']) : Object(_clip_rectangle_js__WEBPACK_IMPORTED_MODULE_2__['default'])(x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reset()) : x0 == null ? null : [
                        [
                            x0,
                            y0
                        ],
                        [
                            x1,
                            y1
                        ]
                    ];
                };
                projection.scale = function (_) {
                    return arguments.length ? (k = +_, recenter()) : k;
                };
                projection.translate = function (_) {
                    return arguments.length ? (x = +_[0], y = +_[1], recenter()) : [
                        x,
                        y
                    ];
                };
                projection.center = function (_) {
                    return arguments.length ? (lambda = _[0] % 360 * _math_js__WEBPACK_IMPORTED_MODULE_5__['radians'], phi = _[1] % 360 * _math_js__WEBPACK_IMPORTED_MODULE_5__['radians'], recenter()) : [
                        lambda * _math_js__WEBPACK_IMPORTED_MODULE_5__['degrees'],
                        phi * _math_js__WEBPACK_IMPORTED_MODULE_5__['degrees']
                    ];
                };
                projection.rotate = function (_) {
                    return arguments.length ? (deltaLambda = _[0] % 360 * _math_js__WEBPACK_IMPORTED_MODULE_5__['radians'], deltaPhi = _[1] % 360 * _math_js__WEBPACK_IMPORTED_MODULE_5__['radians'], deltaGamma = _.length > 2 ? _[2] % 360 * _math_js__WEBPACK_IMPORTED_MODULE_5__['radians'] : 0, recenter()) : [
                        deltaLambda * _math_js__WEBPACK_IMPORTED_MODULE_5__['degrees'],
                        deltaPhi * _math_js__WEBPACK_IMPORTED_MODULE_5__['degrees'],
                        deltaGamma * _math_js__WEBPACK_IMPORTED_MODULE_5__['degrees']
                    ];
                };
                projection.angle = function (_) {
                    return arguments.length ? (alpha = _ % 360 * _math_js__WEBPACK_IMPORTED_MODULE_5__['radians'], recenter()) : alpha * _math_js__WEBPACK_IMPORTED_MODULE_5__['degrees'];
                };
                projection.reflectX = function (_) {
                    return arguments.length ? (sx = _ ? -1 : 1, recenter()) : sx < 0;
                };
                projection.reflectY = function (_) {
                    return arguments.length ? (sy = _ ? -1 : 1, recenter()) : sy < 0;
                };
                projection.precision = function (_) {
                    return arguments.length ? (projectResample = Object(_resample_js__WEBPACK_IMPORTED_MODULE_9__['default'])(projectTransform, delta2 = _ * _), reset()) : Object(_math_js__WEBPACK_IMPORTED_MODULE_5__['sqrt'])(delta2);
                };
                projection.fitExtent = function (extent, object) {
                    return Object(_fit_js__WEBPACK_IMPORTED_MODULE_8__['fitExtent'])(projection, extent, object);
                };
                projection.fitSize = function (size, object) {
                    return Object(_fit_js__WEBPACK_IMPORTED_MODULE_8__['fitSize'])(projection, size, object);
                };
                projection.fitWidth = function (width, object) {
                    return Object(_fit_js__WEBPACK_IMPORTED_MODULE_8__['fitWidth'])(projection, width, object);
                };
                projection.fitHeight = function (height, object) {
                    return Object(_fit_js__WEBPACK_IMPORTED_MODULE_8__['fitHeight'])(projection, height, object);
                };
                function recenter() {
                    var center = scaleTranslateRotate(k, 0, 0, sx, sy, alpha).apply(null, project(lambda, phi)), transform = (alpha ? scaleTranslateRotate : scaleTranslate)(k, x - center[0], y - center[1], sx, sy, alpha);
                    rotate = Object(_rotation_js__WEBPACK_IMPORTED_MODULE_6__['rotateRadians'])(deltaLambda, deltaPhi, deltaGamma);
                    projectTransform = Object(_compose_js__WEBPACK_IMPORTED_MODULE_3__['default'])(project, transform);
                    projectRotateTransform = Object(_compose_js__WEBPACK_IMPORTED_MODULE_3__['default'])(rotate, projectTransform);
                    projectResample = Object(_resample_js__WEBPACK_IMPORTED_MODULE_9__['default'])(projectTransform, delta2);
                    return reset();
                }
                function reset() {
                    cache = cacheStream = null;
                    return projection;
                }
                return function () {
                    project = projectAt.apply(this, arguments);
                    projection.invert = project.invert && invert;
                    return recenter();
                };
            }
        },
        './node_modules/d3-geo/src/projection/mercator.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'mercatorRaw', function () {
                return mercatorRaw;
            });
            __webpack_require__.d(__webpack_exports__, 'mercatorProjection', function () {
                return mercatorProjection;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _rotation_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/rotation.js');
            var _index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/projection/index.js');
            function mercatorRaw(lambda, phi) {
                return [
                    lambda,
                    Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['log'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['tan'])((_math_js__WEBPACK_IMPORTED_MODULE_0__['halfPi'] + phi) / 2))
                ];
            }
            mercatorRaw.invert = function (x, y) {
                return [
                    x,
                    2 * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['atan'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['exp'])(y)) - _math_js__WEBPACK_IMPORTED_MODULE_0__['halfPi']
                ];
            };
            __webpack_exports__['default'] = function () {
                return mercatorProjection(mercatorRaw).scale(961 / _math_js__WEBPACK_IMPORTED_MODULE_0__['tau']);
            };
            function mercatorProjection(project) {
                var m = Object(_index_js__WEBPACK_IMPORTED_MODULE_2__['default'])(project), center = m.center, scale = m.scale, translate = m.translate, clipExtent = m.clipExtent, x0 = null, y0, x1, y1;
                m.scale = function (_) {
                    return arguments.length ? (scale(_), reclip()) : scale();
                };
                m.translate = function (_) {
                    return arguments.length ? (translate(_), reclip()) : translate();
                };
                m.center = function (_) {
                    return arguments.length ? (center(_), reclip()) : center();
                };
                m.clipExtent = function (_) {
                    return arguments.length ? (_ == null ? x0 = y0 = x1 = y1 = null : (x0 = +_[0][0], y0 = +_[0][1], x1 = +_[1][0], y1 = +_[1][1]), reclip()) : x0 == null ? null : [
                        [
                            x0,
                            y0
                        ],
                        [
                            x1,
                            y1
                        ]
                    ];
                };
                function reclip() {
                    var k = _math_js__WEBPACK_IMPORTED_MODULE_0__['pi'] * scale(), t = m(Object(_rotation_js__WEBPACK_IMPORTED_MODULE_1__['default'])(m.rotate()).invert([
                            0,
                            0
                        ]));
                    return clipExtent(x0 == null ? [
                        [
                            t[0] - k,
                            t[1] - k
                        ],
                        [
                            t[0] + k,
                            t[1] + k
                        ]
                    ] : project === mercatorRaw ? [
                        [
                            Math.max(t[0] - k, x0),
                            y0
                        ],
                        [
                            Math.min(t[0] + k, x1),
                            y1
                        ]
                    ] : [
                        [
                            x0,
                            Math.max(t[1] - k, y0)
                        ],
                        [
                            x1,
                            Math.min(t[1] + k, y1)
                        ]
                    ]);
                }
                return reclip();
            }
        },
        './node_modules/d3-geo/src/projection/naturalEarth1.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'naturalEarth1Raw', function () {
                return naturalEarth1Raw;
            });
            var _index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/projection/index.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            function naturalEarth1Raw(lambda, phi) {
                var phi2 = phi * phi, phi4 = phi2 * phi2;
                return [
                    lambda * (0.8707 - 0.131979 * phi2 + phi4 * (-0.013791 + phi4 * (0.003971 * phi2 - 0.001529 * phi4))),
                    phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4)))
                ];
            }
            naturalEarth1Raw.invert = function (x, y) {
                var phi = y, i = 25, delta;
                do {
                    var phi2 = phi * phi, phi4 = phi2 * phi2;
                    phi -= delta = (phi * (1.007226 + phi2 * (0.015085 + phi4 * (-0.044475 + 0.028874 * phi2 - 0.005916 * phi4))) - y) / (1.007226 + phi2 * (0.015085 * 3 + phi4 * (-0.044475 * 7 + 0.028874 * 9 * phi2 - 0.005916 * 11 * phi4)));
                } while (Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])(delta) > _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon'] && --i > 0);
                return [
                    x / (0.8707 + (phi2 = phi * phi) * (-0.131979 + phi2 * (-0.013791 + phi2 * phi2 * phi2 * (0.003971 - 0.001529 * phi2)))),
                    phi
                ];
            };
            __webpack_exports__['default'] = function () {
                return Object(_index_js__WEBPACK_IMPORTED_MODULE_0__['default'])(naturalEarth1Raw).scale(175.295);
            };
        },
        './node_modules/d3-geo/src/projection/orthographic.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'orthographicRaw', function () {
                return orthographicRaw;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _azimuthal_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/projection/azimuthal.js');
            var _index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/projection/index.js');
            function orthographicRaw(x, y) {
                return [
                    Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(y) * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(x),
                    Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(y)
                ];
            }
            orthographicRaw.invert = Object(_azimuthal_js__WEBPACK_IMPORTED_MODULE_1__['azimuthalInvert'])(_math_js__WEBPACK_IMPORTED_MODULE_0__['asin']);
            __webpack_exports__['default'] = function () {
                return Object(_index_js__WEBPACK_IMPORTED_MODULE_2__['default'])(orthographicRaw).scale(249.5).clipAngle(90 + _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon']);
            };
        },
        './node_modules/d3-geo/src/projection/resample.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _cartesian_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/cartesian.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _transform_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/transform.js');
            var maxDepth = 16, cosMinDistance = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(30 * _math_js__WEBPACK_IMPORTED_MODULE_1__['radians']);
            __webpack_exports__['default'] = function (project, delta2) {
                return +delta2 ? resample(project, delta2) : resampleNone(project);
            };
            function resampleNone(project) {
                return Object(_transform_js__WEBPACK_IMPORTED_MODULE_2__['transformer'])({
                    point: function (x, y) {
                        x = project(x, y);
                        this.stream.point(x[0], x[1]);
                    }
                });
            }
            function resample(project, delta2) {
                function resampleLineTo(x0, y0, lambda0, a0, b0, c0, x1, y1, lambda1, a1, b1, c1, depth, stream) {
                    var dx = x1 - x0, dy = y1 - y0, d2 = dx * dx + dy * dy;
                    if (d2 > 4 * delta2 && depth--) {
                        var a = a0 + a1, b = b0 + b1, c = c0 + c1, m = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sqrt'])(a * a + b * b + c * c), phi2 = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['asin'])(c /= m), lambda2 = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])(c) - 1) < _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon'] || Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])(lambda0 - lambda1) < _math_js__WEBPACK_IMPORTED_MODULE_1__['epsilon'] ? (lambda0 + lambda1) / 2 : Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['atan2'])(b, a), p = project(lambda2, phi2), x2 = p[0], y2 = p[1], dx2 = x2 - x0, dy2 = y2 - y0, dz = dy * dx2 - dx * dy2;
                        if (dz * dz / d2 > delta2 || Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])((dx * dx2 + dy * dy2) / d2 - 0.5) > 0.3 || a0 * a1 + b0 * b1 + c0 * c1 < cosMinDistance) {
                            resampleLineTo(x0, y0, lambda0, a0, b0, c0, x2, y2, lambda2, a /= m, b /= m, c, depth, stream);
                            stream.point(x2, y2);
                            resampleLineTo(x2, y2, lambda2, a, b, c, x1, y1, lambda1, a1, b1, c1, depth, stream);
                        }
                    }
                }
                return function (stream) {
                    var lambda00, x00, y00, a00, b00, c00, lambda0, x0, y0, a0, b0, c0;
                    var resampleStream = {
                        point: point,
                        lineStart: lineStart,
                        lineEnd: lineEnd,
                        polygonStart: function () {
                            stream.polygonStart();
                            resampleStream.lineStart = ringStart;
                        },
                        polygonEnd: function () {
                            stream.polygonEnd();
                            resampleStream.lineStart = lineStart;
                        }
                    };
                    function point(x, y) {
                        x = project(x, y);
                        stream.point(x[0], x[1]);
                    }
                    function lineStart() {
                        x0 = NaN;
                        resampleStream.point = linePoint;
                        stream.lineStart();
                    }
                    function linePoint(lambda, phi) {
                        var c = Object(_cartesian_js__WEBPACK_IMPORTED_MODULE_0__['cartesian'])([
                                lambda,
                                phi
                            ]), p = project(lambda, phi);
                        resampleLineTo(x0, y0, lambda0, a0, b0, c0, x0 = p[0], y0 = p[1], lambda0 = lambda, a0 = c[0], b0 = c[1], c0 = c[2], maxDepth, stream);
                        stream.point(x0, y0);
                    }
                    function lineEnd() {
                        resampleStream.point = point;
                        stream.lineEnd();
                    }
                    function ringStart() {
                        lineStart();
                        resampleStream.point = ringPoint;
                        resampleStream.lineEnd = ringEnd;
                    }
                    function ringPoint(lambda, phi) {
                        linePoint(lambda00 = lambda, phi), x00 = x0, y00 = y0, a00 = a0, b00 = b0, c00 = c0;
                        resampleStream.point = linePoint;
                    }
                    function ringEnd() {
                        resampleLineTo(x0, y0, lambda0, a0, b0, c0, x00, y00, lambda00, a00, b00, c00, maxDepth, stream);
                        resampleStream.lineEnd = lineEnd;
                        lineEnd();
                    }
                    return resampleStream;
                };
            }
        },
        './node_modules/d3-geo/src/projection/stereographic.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'stereographicRaw', function () {
                return stereographicRaw;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _azimuthal_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/projection/azimuthal.js');
            var _index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-geo/src/projection/index.js');
            function stereographicRaw(x, y) {
                var cy = Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(y), k = 1 + Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['cos'])(x) * cy;
                return [
                    cy * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(x) / k,
                    Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['sin'])(y) / k
                ];
            }
            stereographicRaw.invert = Object(_azimuthal_js__WEBPACK_IMPORTED_MODULE_1__['azimuthalInvert'])(function (z) {
                return 2 * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['atan'])(z);
            });
            __webpack_exports__['default'] = function () {
                return Object(_index_js__WEBPACK_IMPORTED_MODULE_2__['default'])(stereographicRaw).scale(250).clipAngle(142);
            };
        },
        './node_modules/d3-geo/src/projection/transverseMercator.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'transverseMercatorRaw', function () {
                return transverseMercatorRaw;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            var _mercator_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/projection/mercator.js');
            function transverseMercatorRaw(lambda, phi) {
                return [
                    Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['log'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['tan'])((_math_js__WEBPACK_IMPORTED_MODULE_0__['halfPi'] + phi) / 2)),
                    -lambda
                ];
            }
            transverseMercatorRaw.invert = function (x, y) {
                return [
                    -y,
                    2 * Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['atan'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_0__['exp'])(x)) - _math_js__WEBPACK_IMPORTED_MODULE_0__['halfPi']
                ];
            };
            __webpack_exports__['default'] = function () {
                var m = Object(_mercator_js__WEBPACK_IMPORTED_MODULE_1__['mercatorProjection'])(transverseMercatorRaw), center = m.center, rotate = m.rotate;
                m.center = function (_) {
                    return arguments.length ? center([
                        -_[1],
                        _[0]
                    ]) : (_ = center(), [
                        _[1],
                        -_[0]
                    ]);
                };
                m.rotate = function (_) {
                    return arguments.length ? rotate([
                        _[0],
                        _[1],
                        _.length > 2 ? _[2] + 90 : 90
                    ]) : (_ = rotate(), [
                        _[0],
                        _[1],
                        _[2] - 90
                    ]);
                };
                return rotate([
                    0,
                    0,
                    90
                ]).scale(159.155);
            };
        },
        './node_modules/d3-geo/src/rotation.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'rotateRadians', function () {
                return rotateRadians;
            });
            var _compose_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-geo/src/compose.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-geo/src/math.js');
            function rotationIdentity(lambda, phi) {
                return [
                    Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['abs'])(lambda) > _math_js__WEBPACK_IMPORTED_MODULE_1__['pi'] ? lambda + Math.round(-lambda / _math_js__WEBPACK_IMPORTED_MODULE_1__['tau']) * _math_js__WEBPACK_IMPORTED_MODULE_1__['tau'] : lambda,
                    phi
                ];
            }
            rotationIdentity.invert = rotationIdentity;
            function rotateRadians(deltaLambda, deltaPhi, deltaGamma) {
                return (deltaLambda %= _math_js__WEBPACK_IMPORTED_MODULE_1__['tau']) ? deltaPhi || deltaGamma ? Object(_compose_js__WEBPACK_IMPORTED_MODULE_0__['default'])(rotationLambda(deltaLambda), rotationPhiGamma(deltaPhi, deltaGamma)) : rotationLambda(deltaLambda) : deltaPhi || deltaGamma ? rotationPhiGamma(deltaPhi, deltaGamma) : rotationIdentity;
            }
            function forwardRotationLambda(deltaLambda) {
                return function (lambda, phi) {
                    return lambda += deltaLambda, [
                        lambda > _math_js__WEBPACK_IMPORTED_MODULE_1__['pi'] ? lambda - _math_js__WEBPACK_IMPORTED_MODULE_1__['tau'] : lambda < -_math_js__WEBPACK_IMPORTED_MODULE_1__['pi'] ? lambda + _math_js__WEBPACK_IMPORTED_MODULE_1__['tau'] : lambda,
                        phi
                    ];
                };
            }
            function rotationLambda(deltaLambda) {
                var rotation = forwardRotationLambda(deltaLambda);
                rotation.invert = forwardRotationLambda(-deltaLambda);
                return rotation;
            }
            function rotationPhiGamma(deltaPhi, deltaGamma) {
                var cosDeltaPhi = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(deltaPhi), sinDeltaPhi = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(deltaPhi), cosDeltaGamma = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(deltaGamma), sinDeltaGamma = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(deltaGamma);
                function rotation(lambda, phi) {
                    var cosPhi = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(phi), x = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(lambda) * cosPhi, y = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(lambda) * cosPhi, z = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(phi), k = z * cosDeltaPhi + x * sinDeltaPhi;
                    return [
                        Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['atan2'])(y * cosDeltaGamma - k * sinDeltaGamma, x * cosDeltaPhi - z * sinDeltaPhi),
                        Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['asin'])(k * cosDeltaGamma + y * sinDeltaGamma)
                    ];
                }
                rotation.invert = function (lambda, phi) {
                    var cosPhi = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(phi), x = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['cos'])(lambda) * cosPhi, y = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(lambda) * cosPhi, z = Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['sin'])(phi), k = z * cosDeltaGamma - y * sinDeltaGamma;
                    return [
                        Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['atan2'])(y * cosDeltaGamma + z * sinDeltaGamma, x * cosDeltaPhi + k * sinDeltaPhi),
                        Object(_math_js__WEBPACK_IMPORTED_MODULE_1__['asin'])(k * cosDeltaPhi - x * sinDeltaPhi)
                    ];
                };
                return rotation;
            }
            __webpack_exports__['default'] = function (rotate) {
                rotate = rotateRadians(rotate[0] * _math_js__WEBPACK_IMPORTED_MODULE_1__['radians'], rotate[1] * _math_js__WEBPACK_IMPORTED_MODULE_1__['radians'], rotate.length > 2 ? rotate[2] * _math_js__WEBPACK_IMPORTED_MODULE_1__['radians'] : 0);
                function forward(coordinates) {
                    coordinates = rotate(coordinates[0] * _math_js__WEBPACK_IMPORTED_MODULE_1__['radians'], coordinates[1] * _math_js__WEBPACK_IMPORTED_MODULE_1__['radians']);
                    return coordinates[0] *= _math_js__WEBPACK_IMPORTED_MODULE_1__['degrees'], coordinates[1] *= _math_js__WEBPACK_IMPORTED_MODULE_1__['degrees'], coordinates;
                }
                forward.invert = function (coordinates) {
                    coordinates = rotate.invert(coordinates[0] * _math_js__WEBPACK_IMPORTED_MODULE_1__['radians'], coordinates[1] * _math_js__WEBPACK_IMPORTED_MODULE_1__['radians']);
                    return coordinates[0] *= _math_js__WEBPACK_IMPORTED_MODULE_1__['degrees'], coordinates[1] *= _math_js__WEBPACK_IMPORTED_MODULE_1__['degrees'], coordinates;
                };
                return forward;
            };
        },
        './node_modules/d3-geo/src/stream.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function streamGeometry(geometry, stream) {
                if (geometry && streamGeometryType.hasOwnProperty(geometry.type)) {
                    streamGeometryType[geometry.type](geometry, stream);
                }
            }
            var streamObjectType = {
                Feature: function (object, stream) {
                    streamGeometry(object.geometry, stream);
                },
                FeatureCollection: function (object, stream) {
                    var features = object.features, i = -1, n = features.length;
                    while (++i < n)
                        streamGeometry(features[i].geometry, stream);
                }
            };
            var streamGeometryType = {
                Sphere: function (object, stream) {
                    stream.sphere();
                },
                Point: function (object, stream) {
                    object = object.coordinates;
                    stream.point(object[0], object[1], object[2]);
                },
                MultiPoint: function (object, stream) {
                    var coordinates = object.coordinates, i = -1, n = coordinates.length;
                    while (++i < n)
                        object = coordinates[i], stream.point(object[0], object[1], object[2]);
                },
                LineString: function (object, stream) {
                    streamLine(object.coordinates, stream, 0);
                },
                MultiLineString: function (object, stream) {
                    var coordinates = object.coordinates, i = -1, n = coordinates.length;
                    while (++i < n)
                        streamLine(coordinates[i], stream, 0);
                },
                Polygon: function (object, stream) {
                    streamPolygon(object.coordinates, stream);
                },
                MultiPolygon: function (object, stream) {
                    var coordinates = object.coordinates, i = -1, n = coordinates.length;
                    while (++i < n)
                        streamPolygon(coordinates[i], stream);
                },
                GeometryCollection: function (object, stream) {
                    var geometries = object.geometries, i = -1, n = geometries.length;
                    while (++i < n)
                        streamGeometry(geometries[i], stream);
                }
            };
            function streamLine(coordinates, stream, closed) {
                var i = -1, n = coordinates.length - closed, coordinate;
                stream.lineStart();
                while (++i < n)
                    coordinate = coordinates[i], stream.point(coordinate[0], coordinate[1], coordinate[2]);
                stream.lineEnd();
            }
            function streamPolygon(coordinates, stream) {
                var i = -1, n = coordinates.length;
                stream.polygonStart();
                while (++i < n)
                    streamLine(coordinates[i], stream, 1);
                stream.polygonEnd();
            }
            __webpack_exports__['default'] = function (object, stream) {
                if (object && streamObjectType.hasOwnProperty(object.type)) {
                    streamObjectType[object.type](object, stream);
                } else {
                    streamGeometry(object, stream);
                }
            };
        },
        './node_modules/d3-geo/src/transform.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'transformer', function () {
                return transformer;
            });
            __webpack_exports__['default'] = function (methods) {
                return { stream: transformer(methods) };
            };
            function transformer(methods) {
                return function (stream) {
                    var s = new TransformStream();
                    for (var key in methods)
                        s[key] = methods[key];
                    s.stream = stream;
                    return s;
                };
            }
            function TransformStream() {
            }
            TransformStream.prototype = {
                constructor: TransformStream,
                point: function (x, y) {
                    this.stream.point(x, y);
                },
                sphere: function () {
                    this.stream.sphere();
                },
                lineStart: function () {
                    this.stream.lineStart();
                },
                lineEnd: function () {
                    this.stream.lineEnd();
                },
                polygonStart: function () {
                    this.stream.polygonStart();
                },
                polygonEnd: function () {
                    this.stream.polygonEnd();
                }
            };
        },
        './node_modules/d3-hierarchy/src/accessors.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'optional', function () {
                return optional;
            });
            __webpack_require__.d(__webpack_exports__, 'required', function () {
                return required;
            });
            function optional(f) {
                return f == null ? null : required(f);
            }
            function required(f) {
                if (typeof f !== 'function')
                    throw new Error();
                return f;
            }
        },
        './node_modules/d3-hierarchy/src/array.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'slice', function () {
                return slice;
            });
            __webpack_require__.d(__webpack_exports__, 'shuffle', function () {
                return shuffle;
            });
            var slice = Array.prototype.slice;
            function shuffle(array) {
                var m = array.length, t, i;
                while (m) {
                    i = Math.random() * m-- | 0;
                    t = array[m];
                    array[m] = array[i];
                    array[i] = t;
                }
                return array;
            }
        },
        './node_modules/d3-hierarchy/src/cluster.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function defaultSeparation(a, b) {
                return a.parent === b.parent ? 1 : 2;
            }
            function meanX(children) {
                return children.reduce(meanXReduce, 0) / children.length;
            }
            function meanXReduce(x, c) {
                return x + c.x;
            }
            function maxY(children) {
                return 1 + children.reduce(maxYReduce, 0);
            }
            function maxYReduce(y, c) {
                return Math.max(y, c.y);
            }
            function leafLeft(node) {
                var children;
                while (children = node.children)
                    node = children[0];
                return node;
            }
            function leafRight(node) {
                var children;
                while (children = node.children)
                    node = children[children.length - 1];
                return node;
            }
            __webpack_exports__['default'] = function () {
                var separation = defaultSeparation, dx = 1, dy = 1, nodeSize = false;
                function cluster(root) {
                    var previousNode, x = 0;
                    root.eachAfter(function (node) {
                        var children = node.children;
                        if (children) {
                            node.x = meanX(children);
                            node.y = maxY(children);
                        } else {
                            node.x = previousNode ? x += separation(node, previousNode) : 0;
                            node.y = 0;
                            previousNode = node;
                        }
                    });
                    var left = leafLeft(root), right = leafRight(root), x0 = left.x - separation(left, right) / 2, x1 = right.x + separation(right, left) / 2;
                    return root.eachAfter(nodeSize ? function (node) {
                        node.x = (node.x - root.x) * dx;
                        node.y = (root.y - node.y) * dy;
                    } : function (node) {
                        node.x = (node.x - x0) / (x1 - x0) * dx;
                        node.y = (1 - (root.y ? node.y / root.y : 1)) * dy;
                    });
                }
                cluster.separation = function (x) {
                    return arguments.length ? (separation = x, cluster) : separation;
                };
                cluster.size = function (x) {
                    return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], cluster) : nodeSize ? null : [
                        dx,
                        dy
                    ];
                };
                cluster.nodeSize = function (x) {
                    return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], cluster) : nodeSize ? [
                        dx,
                        dy
                    ] : null;
                };
                return cluster;
            };
        },
        './node_modules/d3-hierarchy/src/constant.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'constantZero', function () {
                return constantZero;
            });
            function constantZero() {
                return 0;
            }
            __webpack_exports__['default'] = function (x) {
                return function () {
                    return x;
                };
            };
        },
        './node_modules/d3-hierarchy/src/hierarchy/ancestors.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
                var node = this, nodes = [node];
                while (node = node.parent) {
                    nodes.push(node);
                }
                return nodes;
            };
        },
        './node_modules/d3-hierarchy/src/hierarchy/count.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function count(node) {
                var sum = 0, children = node.children, i = children && children.length;
                if (!i)
                    sum = 1;
                else
                    while (--i >= 0)
                        sum += children[i].value;
                node.value = sum;
            }
            __webpack_exports__['default'] = function () {
                return this.eachAfter(count);
            };
        },
        './node_modules/d3-hierarchy/src/hierarchy/descendants.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
                var nodes = [];
                this.each(function (node) {
                    nodes.push(node);
                });
                return nodes;
            };
        },
        './node_modules/d3-hierarchy/src/hierarchy/each.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (callback) {
                var node = this, current, next = [node], children, i, n;
                do {
                    current = next.reverse(), next = [];
                    while (node = current.pop()) {
                        callback(node), children = node.children;
                        if (children)
                            for (i = 0, n = children.length; i < n; ++i) {
                                next.push(children[i]);
                            }
                    }
                } while (next.length);
                return this;
            };
        },
        './node_modules/d3-hierarchy/src/hierarchy/eachAfter.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (callback) {
                var node = this, nodes = [node], next = [], children, i, n;
                while (node = nodes.pop()) {
                    next.push(node), children = node.children;
                    if (children)
                        for (i = 0, n = children.length; i < n; ++i) {
                            nodes.push(children[i]);
                        }
                }
                while (node = next.pop()) {
                    callback(node);
                }
                return this;
            };
        },
        './node_modules/d3-hierarchy/src/hierarchy/eachBefore.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (callback) {
                var node = this, nodes = [node], children, i;
                while (node = nodes.pop()) {
                    callback(node), children = node.children;
                    if (children)
                        for (i = children.length - 1; i >= 0; --i) {
                            nodes.push(children[i]);
                        }
                }
                return this;
            };
        },
        './node_modules/d3-hierarchy/src/hierarchy/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return hierarchy;
            });
            __webpack_require__.d(__webpack_exports__, 'computeHeight', function () {
                return computeHeight;
            });
            __webpack_require__.d(__webpack_exports__, 'Node', function () {
                return Node;
            });
            var _count_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-hierarchy/src/hierarchy/count.js');
            var _each_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-hierarchy/src/hierarchy/each.js');
            var _eachBefore_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-hierarchy/src/hierarchy/eachBefore.js');
            var _eachAfter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-hierarchy/src/hierarchy/eachAfter.js');
            var _sum_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-hierarchy/src/hierarchy/sum.js');
            var _sort_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-hierarchy/src/hierarchy/sort.js');
            var _path_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-hierarchy/src/hierarchy/path.js');
            var _ancestors_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-hierarchy/src/hierarchy/ancestors.js');
            var _descendants_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-hierarchy/src/hierarchy/descendants.js');
            var _leaves_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__('./node_modules/d3-hierarchy/src/hierarchy/leaves.js');
            var _links_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__('./node_modules/d3-hierarchy/src/hierarchy/links.js');
            function hierarchy(data, children) {
                var root = new Node(data), valued = +data.value && (root.value = data.value), node, nodes = [root], child, childs, i, n;
                if (children == null)
                    children = defaultChildren;
                while (node = nodes.pop()) {
                    if (valued)
                        node.value = +node.data.value;
                    if ((childs = children(node.data)) && (n = childs.length)) {
                        node.children = new Array(n);
                        for (i = n - 1; i >= 0; --i) {
                            nodes.push(child = node.children[i] = new Node(childs[i]));
                            child.parent = node;
                            child.depth = node.depth + 1;
                        }
                    }
                }
                return root.eachBefore(computeHeight);
            }
            function node_copy() {
                return hierarchy(this).eachBefore(copyData);
            }
            function defaultChildren(d) {
                return d.children;
            }
            function copyData(node) {
                node.data = node.data.data;
            }
            function computeHeight(node) {
                var height = 0;
                do
                    node.height = height;
                while ((node = node.parent) && node.height < ++height);
            }
            function Node(data) {
                this.data = data;
                this.depth = this.height = 0;
                this.parent = null;
            }
            Node.prototype = hierarchy.prototype = {
                constructor: Node,
                count: _count_js__WEBPACK_IMPORTED_MODULE_0__['default'],
                each: _each_js__WEBPACK_IMPORTED_MODULE_1__['default'],
                eachAfter: _eachAfter_js__WEBPACK_IMPORTED_MODULE_3__['default'],
                eachBefore: _eachBefore_js__WEBPACK_IMPORTED_MODULE_2__['default'],
                sum: _sum_js__WEBPACK_IMPORTED_MODULE_4__['default'],
                sort: _sort_js__WEBPACK_IMPORTED_MODULE_5__['default'],
                path: _path_js__WEBPACK_IMPORTED_MODULE_6__['default'],
                ancestors: _ancestors_js__WEBPACK_IMPORTED_MODULE_7__['default'],
                descendants: _descendants_js__WEBPACK_IMPORTED_MODULE_8__['default'],
                leaves: _leaves_js__WEBPACK_IMPORTED_MODULE_9__['default'],
                links: _links_js__WEBPACK_IMPORTED_MODULE_10__['default'],
                copy: node_copy
            };
        },
        './node_modules/d3-hierarchy/src/hierarchy/leaves.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
                var leaves = [];
                this.eachBefore(function (node) {
                    if (!node.children) {
                        leaves.push(node);
                    }
                });
                return leaves;
            };
        },
        './node_modules/d3-hierarchy/src/hierarchy/links.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
                var root = this, links = [];
                root.each(function (node) {
                    if (node !== root) {
                        links.push({
                            source: node.parent,
                            target: node
                        });
                    }
                });
                return links;
            };
        },
        './node_modules/d3-hierarchy/src/hierarchy/path.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (end) {
                var start = this, ancestor = leastCommonAncestor(start, end), nodes = [start];
                while (start !== ancestor) {
                    start = start.parent;
                    nodes.push(start);
                }
                var k = nodes.length;
                while (end !== ancestor) {
                    nodes.splice(k, 0, end);
                    end = end.parent;
                }
                return nodes;
            };
            function leastCommonAncestor(a, b) {
                if (a === b)
                    return a;
                var aNodes = a.ancestors(), bNodes = b.ancestors(), c = null;
                a = aNodes.pop();
                b = bNodes.pop();
                while (a === b) {
                    c = a;
                    a = aNodes.pop();
                    b = bNodes.pop();
                }
                return c;
            }
        },
        './node_modules/d3-hierarchy/src/hierarchy/sort.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (compare) {
                return this.eachBefore(function (node) {
                    if (node.children) {
                        node.children.sort(compare);
                    }
                });
            };
        },
        './node_modules/d3-hierarchy/src/hierarchy/sum.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (value) {
                return this.eachAfter(function (node) {
                    var sum = +value(node.data) || 0, children = node.children, i = children && children.length;
                    while (--i >= 0)
                        sum += children[i].value;
                    node.value = sum;
                });
            };
        },
        './node_modules/d3-hierarchy/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _cluster_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-hierarchy/src/cluster.js');
            __webpack_require__.d(__webpack_exports__, 'cluster', function () {
                return _cluster_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _hierarchy_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-hierarchy/src/hierarchy/index.js');
            __webpack_require__.d(__webpack_exports__, 'hierarchy', function () {
                return _hierarchy_index_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _pack_index_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-hierarchy/src/pack/index.js');
            __webpack_require__.d(__webpack_exports__, 'pack', function () {
                return _pack_index_js__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            var _pack_siblings_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-hierarchy/src/pack/siblings.js');
            __webpack_require__.d(__webpack_exports__, 'packSiblings', function () {
                return _pack_siblings_js__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
            var _pack_enclose_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-hierarchy/src/pack/enclose.js');
            __webpack_require__.d(__webpack_exports__, 'packEnclose', function () {
                return _pack_enclose_js__WEBPACK_IMPORTED_MODULE_4__['default'];
            });
            var _partition_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-hierarchy/src/partition.js');
            __webpack_require__.d(__webpack_exports__, 'partition', function () {
                return _partition_js__WEBPACK_IMPORTED_MODULE_5__['default'];
            });
            var _stratify_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-hierarchy/src/stratify.js');
            __webpack_require__.d(__webpack_exports__, 'stratify', function () {
                return _stratify_js__WEBPACK_IMPORTED_MODULE_6__['default'];
            });
            var _tree_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-hierarchy/src/tree.js');
            __webpack_require__.d(__webpack_exports__, 'tree', function () {
                return _tree_js__WEBPACK_IMPORTED_MODULE_7__['default'];
            });
            var _treemap_index_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/index.js');
            __webpack_require__.d(__webpack_exports__, 'treemap', function () {
                return _treemap_index_js__WEBPACK_IMPORTED_MODULE_8__['default'];
            });
            var _treemap_binary_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/binary.js');
            __webpack_require__.d(__webpack_exports__, 'treemapBinary', function () {
                return _treemap_binary_js__WEBPACK_IMPORTED_MODULE_9__['default'];
            });
            var _treemap_dice_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/dice.js');
            __webpack_require__.d(__webpack_exports__, 'treemapDice', function () {
                return _treemap_dice_js__WEBPACK_IMPORTED_MODULE_10__['default'];
            });
            var _treemap_slice_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/slice.js');
            __webpack_require__.d(__webpack_exports__, 'treemapSlice', function () {
                return _treemap_slice_js__WEBPACK_IMPORTED_MODULE_11__['default'];
            });
            var _treemap_sliceDice_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/sliceDice.js');
            __webpack_require__.d(__webpack_exports__, 'treemapSliceDice', function () {
                return _treemap_sliceDice_js__WEBPACK_IMPORTED_MODULE_12__['default'];
            });
            var _treemap_squarify_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/squarify.js');
            __webpack_require__.d(__webpack_exports__, 'treemapSquarify', function () {
                return _treemap_squarify_js__WEBPACK_IMPORTED_MODULE_13__['default'];
            });
            var _treemap_resquarify_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/resquarify.js');
            __webpack_require__.d(__webpack_exports__, 'treemapResquarify', function () {
                return _treemap_resquarify_js__WEBPACK_IMPORTED_MODULE_14__['default'];
            });
        },
        './node_modules/d3-hierarchy/src/pack/enclose.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _array_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-hierarchy/src/array.js');
            __webpack_exports__['default'] = function (circles) {
                var i = 0, n = (circles = Object(_array_js__WEBPACK_IMPORTED_MODULE_0__['shuffle'])(_array_js__WEBPACK_IMPORTED_MODULE_0__['slice'].call(circles))).length, B = [], p, e;
                while (i < n) {
                    p = circles[i];
                    if (e && enclosesWeak(e, p))
                        ++i;
                    else
                        e = encloseBasis(B = extendBasis(B, p)), i = 0;
                }
                return e;
            };
            function extendBasis(B, p) {
                var i, j;
                if (enclosesWeakAll(p, B))
                    return [p];
                for (i = 0; i < B.length; ++i) {
                    if (enclosesNot(p, B[i]) && enclosesWeakAll(encloseBasis2(B[i], p), B)) {
                        return [
                            B[i],
                            p
                        ];
                    }
                }
                for (i = 0; i < B.length - 1; ++i) {
                    for (j = i + 1; j < B.length; ++j) {
                        if (enclosesNot(encloseBasis2(B[i], B[j]), p) && enclosesNot(encloseBasis2(B[i], p), B[j]) && enclosesNot(encloseBasis2(B[j], p), B[i]) && enclosesWeakAll(encloseBasis3(B[i], B[j], p), B)) {
                            return [
                                B[i],
                                B[j],
                                p
                            ];
                        }
                    }
                }
                throw new Error();
            }
            function enclosesNot(a, b) {
                var dr = a.r - b.r, dx = b.x - a.x, dy = b.y - a.y;
                return dr < 0 || dr * dr < dx * dx + dy * dy;
            }
            function enclosesWeak(a, b) {
                var dr = a.r - b.r + 0.000001, dx = b.x - a.x, dy = b.y - a.y;
                return dr > 0 && dr * dr > dx * dx + dy * dy;
            }
            function enclosesWeakAll(a, B) {
                for (var i = 0; i < B.length; ++i) {
                    if (!enclosesWeak(a, B[i])) {
                        return false;
                    }
                }
                return true;
            }
            function encloseBasis(B) {
                switch (B.length) {
                case 1:
                    return encloseBasis1(B[0]);
                case 2:
                    return encloseBasis2(B[0], B[1]);
                case 3:
                    return encloseBasis3(B[0], B[1], B[2]);
                }
            }
            function encloseBasis1(a) {
                return {
                    x: a.x,
                    y: a.y,
                    r: a.r
                };
            }
            function encloseBasis2(a, b) {
                var x1 = a.x, y1 = a.y, r1 = a.r, x2 = b.x, y2 = b.y, r2 = b.r, x21 = x2 - x1, y21 = y2 - y1, r21 = r2 - r1, l = Math.sqrt(x21 * x21 + y21 * y21);
                return {
                    x: (x1 + x2 + x21 / l * r21) / 2,
                    y: (y1 + y2 + y21 / l * r21) / 2,
                    r: (l + r1 + r2) / 2
                };
            }
            function encloseBasis3(a, b, c) {
                var x1 = a.x, y1 = a.y, r1 = a.r, x2 = b.x, y2 = b.y, r2 = b.r, x3 = c.x, y3 = c.y, r3 = c.r, a2 = x1 - x2, a3 = x1 - x3, b2 = y1 - y2, b3 = y1 - y3, c2 = r2 - r1, c3 = r3 - r1, d1 = x1 * x1 + y1 * y1 - r1 * r1, d2 = d1 - x2 * x2 - y2 * y2 + r2 * r2, d3 = d1 - x3 * x3 - y3 * y3 + r3 * r3, ab = a3 * b2 - a2 * b3, xa = (b2 * d3 - b3 * d2) / (ab * 2) - x1, xb = (b3 * c2 - b2 * c3) / ab, ya = (a3 * d2 - a2 * d3) / (ab * 2) - y1, yb = (a2 * c3 - a3 * c2) / ab, A = xb * xb + yb * yb - 1, B = 2 * (r1 + xa * xb + ya * yb), C = xa * xa + ya * ya - r1 * r1, r = -(A ? (B + Math.sqrt(B * B - 4 * A * C)) / (2 * A) : C / B);
                return {
                    x: x1 + xa + xb * r,
                    y: y1 + ya + yb * r,
                    r: r
                };
            }
        },
        './node_modules/d3-hierarchy/src/pack/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _siblings_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-hierarchy/src/pack/siblings.js');
            var _accessors_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-hierarchy/src/accessors.js');
            var _constant_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-hierarchy/src/constant.js');
            function defaultRadius(d) {
                return Math.sqrt(d.value);
            }
            __webpack_exports__['default'] = function () {
                var radius = null, dx = 1, dy = 1, padding = _constant_js__WEBPACK_IMPORTED_MODULE_2__['constantZero'];
                function pack(root) {
                    root.x = dx / 2, root.y = dy / 2;
                    if (radius) {
                        root.eachBefore(radiusLeaf(radius)).eachAfter(packChildren(padding, 0.5)).eachBefore(translateChild(1));
                    } else {
                        root.eachBefore(radiusLeaf(defaultRadius)).eachAfter(packChildren(_constant_js__WEBPACK_IMPORTED_MODULE_2__['constantZero'], 1)).eachAfter(packChildren(padding, root.r / Math.min(dx, dy))).eachBefore(translateChild(Math.min(dx, dy) / (2 * root.r)));
                    }
                    return root;
                }
                pack.radius = function (x) {
                    return arguments.length ? (radius = Object(_accessors_js__WEBPACK_IMPORTED_MODULE_1__['optional'])(x), pack) : radius;
                };
                pack.size = function (x) {
                    return arguments.length ? (dx = +x[0], dy = +x[1], pack) : [
                        dx,
                        dy
                    ];
                };
                pack.padding = function (x) {
                    return arguments.length ? (padding = typeof x === 'function' ? x : Object(_constant_js__WEBPACK_IMPORTED_MODULE_2__['default'])(+x), pack) : padding;
                };
                return pack;
            };
            function radiusLeaf(radius) {
                return function (node) {
                    if (!node.children) {
                        node.r = Math.max(0, +radius(node) || 0);
                    }
                };
            }
            function packChildren(padding, k) {
                return function (node) {
                    if (children = node.children) {
                        var children, i, n = children.length, r = padding(node) * k || 0, e;
                        if (r)
                            for (i = 0; i < n; ++i)
                                children[i].r += r;
                        e = Object(_siblings_js__WEBPACK_IMPORTED_MODULE_0__['packEnclose'])(children);
                        if (r)
                            for (i = 0; i < n; ++i)
                                children[i].r -= r;
                        node.r = e + r;
                    }
                };
            }
            function translateChild(k) {
                return function (node) {
                    var parent = node.parent;
                    node.r *= k;
                    if (parent) {
                        node.x = parent.x + k * node.x;
                        node.y = parent.y + k * node.y;
                    }
                };
            }
        },
        './node_modules/d3-hierarchy/src/pack/siblings.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'packEnclose', function () {
                return packEnclose;
            });
            var _enclose_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-hierarchy/src/pack/enclose.js');
            function place(b, a, c) {
                var dx = b.x - a.x, x, a2, dy = b.y - a.y, y, b2, d2 = dx * dx + dy * dy;
                if (d2) {
                    a2 = a.r + c.r, a2 *= a2;
                    b2 = b.r + c.r, b2 *= b2;
                    if (a2 > b2) {
                        x = (d2 + b2 - a2) / (2 * d2);
                        y = Math.sqrt(Math.max(0, b2 / d2 - x * x));
                        c.x = b.x - x * dx - y * dy;
                        c.y = b.y - x * dy + y * dx;
                    } else {
                        x = (d2 + a2 - b2) / (2 * d2);
                        y = Math.sqrt(Math.max(0, a2 / d2 - x * x));
                        c.x = a.x + x * dx - y * dy;
                        c.y = a.y + x * dy + y * dx;
                    }
                } else {
                    c.x = a.x + c.r;
                    c.y = a.y;
                }
            }
            function intersects(a, b) {
                var dr = a.r + b.r - 0.000001, dx = b.x - a.x, dy = b.y - a.y;
                return dr > 0 && dr * dr > dx * dx + dy * dy;
            }
            function score(node) {
                var a = node._, b = node.next._, ab = a.r + b.r, dx = (a.x * b.r + b.x * a.r) / ab, dy = (a.y * b.r + b.y * a.r) / ab;
                return dx * dx + dy * dy;
            }
            function Node(circle) {
                this._ = circle;
                this.next = null;
                this.previous = null;
            }
            function packEnclose(circles) {
                if (!(n = circles.length))
                    return 0;
                var a, b, c, n, aa, ca, i, j, k, sj, sk;
                a = circles[0], a.x = 0, a.y = 0;
                if (!(n > 1))
                    return a.r;
                b = circles[1], a.x = -b.r, b.x = a.r, b.y = 0;
                if (!(n > 2))
                    return a.r + b.r;
                place(b, a, c = circles[2]);
                a = new Node(a), b = new Node(b), c = new Node(c);
                a.next = c.previous = b;
                b.next = a.previous = c;
                c.next = b.previous = a;
                pack:
                    for (i = 3; i < n; ++i) {
                        place(a._, b._, c = circles[i]), c = new Node(c);
                        j = b.next, k = a.previous, sj = b._.r, sk = a._.r;
                        do {
                            if (sj <= sk) {
                                if (intersects(j._, c._)) {
                                    b = j, a.next = b, b.previous = a, --i;
                                    continue pack;
                                }
                                sj += j._.r, j = j.next;
                            } else {
                                if (intersects(k._, c._)) {
                                    a = k, a.next = b, b.previous = a, --i;
                                    continue pack;
                                }
                                sk += k._.r, k = k.previous;
                            }
                        } while (j !== k.next);
                        c.previous = a, c.next = b, a.next = b.previous = b = c;
                        aa = score(a);
                        while ((c = c.next) !== b) {
                            if ((ca = score(c)) < aa) {
                                a = c, aa = ca;
                            }
                        }
                        b = a.next;
                    }
                a = [b._], c = b;
                while ((c = c.next) !== b)
                    a.push(c._);
                c = Object(_enclose_js__WEBPACK_IMPORTED_MODULE_0__['default'])(a);
                for (i = 0; i < n; ++i)
                    a = circles[i], a.x -= c.x, a.y -= c.y;
                return c.r;
            }
            __webpack_exports__['default'] = function (circles) {
                packEnclose(circles);
                return circles;
            };
        },
        './node_modules/d3-hierarchy/src/partition.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _treemap_round_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/round.js');
            var _treemap_dice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/dice.js');
            __webpack_exports__['default'] = function () {
                var dx = 1, dy = 1, padding = 0, round = false;
                function partition(root) {
                    var n = root.height + 1;
                    root.x0 = root.y0 = padding;
                    root.x1 = dx;
                    root.y1 = dy / n;
                    root.eachBefore(positionNode(dy, n));
                    if (round)
                        root.eachBefore(_treemap_round_js__WEBPACK_IMPORTED_MODULE_0__['default']);
                    return root;
                }
                function positionNode(dy, n) {
                    return function (node) {
                        if (node.children) {
                            Object(_treemap_dice_js__WEBPACK_IMPORTED_MODULE_1__['default'])(node, node.x0, dy * (node.depth + 1) / n, node.x1, dy * (node.depth + 2) / n);
                        }
                        var x0 = node.x0, y0 = node.y0, x1 = node.x1 - padding, y1 = node.y1 - padding;
                        if (x1 < x0)
                            x0 = x1 = (x0 + x1) / 2;
                        if (y1 < y0)
                            y0 = y1 = (y0 + y1) / 2;
                        node.x0 = x0;
                        node.y0 = y0;
                        node.x1 = x1;
                        node.y1 = y1;
                    };
                }
                partition.round = function (x) {
                    return arguments.length ? (round = !!x, partition) : round;
                };
                partition.size = function (x) {
                    return arguments.length ? (dx = +x[0], dy = +x[1], partition) : [
                        dx,
                        dy
                    ];
                };
                partition.padding = function (x) {
                    return arguments.length ? (padding = +x, partition) : padding;
                };
                return partition;
            };
        },
        './node_modules/d3-hierarchy/src/stratify.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _accessors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-hierarchy/src/accessors.js');
            var _hierarchy_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-hierarchy/src/hierarchy/index.js');
            var keyPrefix = '$', preroot = { depth: -1 }, ambiguous = {};
            function defaultId(d) {
                return d.id;
            }
            function defaultParentId(d) {
                return d.parentId;
            }
            __webpack_exports__['default'] = function () {
                var id = defaultId, parentId = defaultParentId;
                function stratify(data) {
                    var d, i, n = data.length, root, parent, node, nodes = new Array(n), nodeId, nodeKey, nodeByKey = {};
                    for (i = 0; i < n; ++i) {
                        d = data[i], node = nodes[i] = new _hierarchy_index_js__WEBPACK_IMPORTED_MODULE_1__['Node'](d);
                        if ((nodeId = id(d, i, data)) != null && (nodeId += '')) {
                            nodeKey = keyPrefix + (node.id = nodeId);
                            nodeByKey[nodeKey] = nodeKey in nodeByKey ? ambiguous : node;
                        }
                    }
                    for (i = 0; i < n; ++i) {
                        node = nodes[i], nodeId = parentId(data[i], i, data);
                        if (nodeId == null || !(nodeId += '')) {
                            if (root)
                                throw new Error('multiple roots');
                            root = node;
                        } else {
                            parent = nodeByKey[keyPrefix + nodeId];
                            if (!parent)
                                throw new Error('missing: ' + nodeId);
                            if (parent === ambiguous)
                                throw new Error('ambiguous: ' + nodeId);
                            if (parent.children)
                                parent.children.push(node);
                            else
                                parent.children = [node];
                            node.parent = parent;
                        }
                    }
                    if (!root)
                        throw new Error('no root');
                    root.parent = preroot;
                    root.eachBefore(function (node) {
                        node.depth = node.parent.depth + 1;
                        --n;
                    }).eachBefore(_hierarchy_index_js__WEBPACK_IMPORTED_MODULE_1__['computeHeight']);
                    root.parent = null;
                    if (n > 0)
                        throw new Error('cycle');
                    return root;
                }
                stratify.id = function (x) {
                    return arguments.length ? (id = Object(_accessors_js__WEBPACK_IMPORTED_MODULE_0__['required'])(x), stratify) : id;
                };
                stratify.parentId = function (x) {
                    return arguments.length ? (parentId = Object(_accessors_js__WEBPACK_IMPORTED_MODULE_0__['required'])(x), stratify) : parentId;
                };
                return stratify;
            };
        },
        './node_modules/d3-hierarchy/src/tree.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _hierarchy_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-hierarchy/src/hierarchy/index.js');
            function defaultSeparation(a, b) {
                return a.parent === b.parent ? 1 : 2;
            }
            function nextLeft(v) {
                var children = v.children;
                return children ? children[0] : v.t;
            }
            function nextRight(v) {
                var children = v.children;
                return children ? children[children.length - 1] : v.t;
            }
            function moveSubtree(wm, wp, shift) {
                var change = shift / (wp.i - wm.i);
                wp.c -= change;
                wp.s += shift;
                wm.c += change;
                wp.z += shift;
                wp.m += shift;
            }
            function executeShifts(v) {
                var shift = 0, change = 0, children = v.children, i = children.length, w;
                while (--i >= 0) {
                    w = children[i];
                    w.z += shift;
                    w.m += shift;
                    shift += w.s + (change += w.c);
                }
            }
            function nextAncestor(vim, v, ancestor) {
                return vim.a.parent === v.parent ? vim.a : ancestor;
            }
            function TreeNode(node, i) {
                this._ = node;
                this.parent = null;
                this.children = null;
                this.A = null;
                this.a = this;
                this.z = 0;
                this.m = 0;
                this.c = 0;
                this.s = 0;
                this.t = null;
                this.i = i;
            }
            TreeNode.prototype = Object.create(_hierarchy_index_js__WEBPACK_IMPORTED_MODULE_0__['Node'].prototype);
            function treeRoot(root) {
                var tree = new TreeNode(root, 0), node, nodes = [tree], child, children, i, n;
                while (node = nodes.pop()) {
                    if (children = node._.children) {
                        node.children = new Array(n = children.length);
                        for (i = n - 1; i >= 0; --i) {
                            nodes.push(child = node.children[i] = new TreeNode(children[i], i));
                            child.parent = node;
                        }
                    }
                }
                (tree.parent = new TreeNode(null, 0)).children = [tree];
                return tree;
            }
            __webpack_exports__['default'] = function () {
                var separation = defaultSeparation, dx = 1, dy = 1, nodeSize = null;
                function tree(root) {
                    var t = treeRoot(root);
                    t.eachAfter(firstWalk), t.parent.m = -t.z;
                    t.eachBefore(secondWalk);
                    if (nodeSize)
                        root.eachBefore(sizeNode);
                    else {
                        var left = root, right = root, bottom = root;
                        root.eachBefore(function (node) {
                            if (node.x < left.x)
                                left = node;
                            if (node.x > right.x)
                                right = node;
                            if (node.depth > bottom.depth)
                                bottom = node;
                        });
                        var s = left === right ? 1 : separation(left, right) / 2, tx = s - left.x, kx = dx / (right.x + s + tx), ky = dy / (bottom.depth || 1);
                        root.eachBefore(function (node) {
                            node.x = (node.x + tx) * kx;
                            node.y = node.depth * ky;
                        });
                    }
                    return root;
                }
                function firstWalk(v) {
                    var children = v.children, siblings = v.parent.children, w = v.i ? siblings[v.i - 1] : null;
                    if (children) {
                        executeShifts(v);
                        var midpoint = (children[0].z + children[children.length - 1].z) / 2;
                        if (w) {
                            v.z = w.z + separation(v._, w._);
                            v.m = v.z - midpoint;
                        } else {
                            v.z = midpoint;
                        }
                    } else if (w) {
                        v.z = w.z + separation(v._, w._);
                    }
                    v.parent.A = apportion(v, w, v.parent.A || siblings[0]);
                }
                function secondWalk(v) {
                    v._.x = v.z + v.parent.m;
                    v.m += v.parent.m;
                }
                function apportion(v, w, ancestor) {
                    if (w) {
                        var vip = v, vop = v, vim = w, vom = vip.parent.children[0], sip = vip.m, sop = vop.m, sim = vim.m, som = vom.m, shift;
                        while (vim = nextRight(vim), vip = nextLeft(vip), vim && vip) {
                            vom = nextLeft(vom);
                            vop = nextRight(vop);
                            vop.a = v;
                            shift = vim.z + sim - vip.z - sip + separation(vim._, vip._);
                            if (shift > 0) {
                                moveSubtree(nextAncestor(vim, v, ancestor), v, shift);
                                sip += shift;
                                sop += shift;
                            }
                            sim += vim.m;
                            sip += vip.m;
                            som += vom.m;
                            sop += vop.m;
                        }
                        if (vim && !nextRight(vop)) {
                            vop.t = vim;
                            vop.m += sim - sop;
                        }
                        if (vip && !nextLeft(vom)) {
                            vom.t = vip;
                            vom.m += sip - som;
                            ancestor = v;
                        }
                    }
                    return ancestor;
                }
                function sizeNode(node) {
                    node.x *= dx;
                    node.y = node.depth * dy;
                }
                tree.separation = function (x) {
                    return arguments.length ? (separation = x, tree) : separation;
                };
                tree.size = function (x) {
                    return arguments.length ? (nodeSize = false, dx = +x[0], dy = +x[1], tree) : nodeSize ? null : [
                        dx,
                        dy
                    ];
                };
                tree.nodeSize = function (x) {
                    return arguments.length ? (nodeSize = true, dx = +x[0], dy = +x[1], tree) : nodeSize ? [
                        dx,
                        dy
                    ] : null;
                };
                return tree;
            };
        },
        './node_modules/d3-hierarchy/src/treemap/binary.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (parent, x0, y0, x1, y1) {
                var nodes = parent.children, i, n = nodes.length, sum, sums = new Array(n + 1);
                for (sums[0] = sum = i = 0; i < n; ++i) {
                    sums[i + 1] = sum += nodes[i].value;
                }
                partition(0, n, parent.value, x0, y0, x1, y1);
                function partition(i, j, value, x0, y0, x1, y1) {
                    if (i >= j - 1) {
                        var node = nodes[i];
                        node.x0 = x0, node.y0 = y0;
                        node.x1 = x1, node.y1 = y1;
                        return;
                    }
                    var valueOffset = sums[i], valueTarget = value / 2 + valueOffset, k = i + 1, hi = j - 1;
                    while (k < hi) {
                        var mid = k + hi >>> 1;
                        if (sums[mid] < valueTarget)
                            k = mid + 1;
                        else
                            hi = mid;
                    }
                    if (valueTarget - sums[k - 1] < sums[k] - valueTarget && i + 1 < k)
                        --k;
                    var valueLeft = sums[k] - valueOffset, valueRight = value - valueLeft;
                    if (x1 - x0 > y1 - y0) {
                        var xk = (x0 * valueRight + x1 * valueLeft) / value;
                        partition(i, k, valueLeft, x0, y0, xk, y1);
                        partition(k, j, valueRight, xk, y0, x1, y1);
                    } else {
                        var yk = (y0 * valueRight + y1 * valueLeft) / value;
                        partition(i, k, valueLeft, x0, y0, x1, yk);
                        partition(k, j, valueRight, x0, yk, x1, y1);
                    }
                }
            };
        },
        './node_modules/d3-hierarchy/src/treemap/dice.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (parent, x0, y0, x1, y1) {
                var nodes = parent.children, node, i = -1, n = nodes.length, k = parent.value && (x1 - x0) / parent.value;
                while (++i < n) {
                    node = nodes[i], node.y0 = y0, node.y1 = y1;
                    node.x0 = x0, node.x1 = x0 += node.value * k;
                }
            };
        },
        './node_modules/d3-hierarchy/src/treemap/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _round_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/round.js');
            var _squarify_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/squarify.js');
            var _accessors_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-hierarchy/src/accessors.js');
            var _constant_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-hierarchy/src/constant.js');
            __webpack_exports__['default'] = function () {
                var tile = _squarify_js__WEBPACK_IMPORTED_MODULE_1__['default'], round = false, dx = 1, dy = 1, paddingStack = [0], paddingInner = _constant_js__WEBPACK_IMPORTED_MODULE_3__['constantZero'], paddingTop = _constant_js__WEBPACK_IMPORTED_MODULE_3__['constantZero'], paddingRight = _constant_js__WEBPACK_IMPORTED_MODULE_3__['constantZero'], paddingBottom = _constant_js__WEBPACK_IMPORTED_MODULE_3__['constantZero'], paddingLeft = _constant_js__WEBPACK_IMPORTED_MODULE_3__['constantZero'];
                function treemap(root) {
                    root.x0 = root.y0 = 0;
                    root.x1 = dx;
                    root.y1 = dy;
                    root.eachBefore(positionNode);
                    paddingStack = [0];
                    if (round)
                        root.eachBefore(_round_js__WEBPACK_IMPORTED_MODULE_0__['default']);
                    return root;
                }
                function positionNode(node) {
                    var p = paddingStack[node.depth], x0 = node.x0 + p, y0 = node.y0 + p, x1 = node.x1 - p, y1 = node.y1 - p;
                    if (x1 < x0)
                        x0 = x1 = (x0 + x1) / 2;
                    if (y1 < y0)
                        y0 = y1 = (y0 + y1) / 2;
                    node.x0 = x0;
                    node.y0 = y0;
                    node.x1 = x1;
                    node.y1 = y1;
                    if (node.children) {
                        p = paddingStack[node.depth + 1] = paddingInner(node) / 2;
                        x0 += paddingLeft(node) - p;
                        y0 += paddingTop(node) - p;
                        x1 -= paddingRight(node) - p;
                        y1 -= paddingBottom(node) - p;
                        if (x1 < x0)
                            x0 = x1 = (x0 + x1) / 2;
                        if (y1 < y0)
                            y0 = y1 = (y0 + y1) / 2;
                        tile(node, x0, y0, x1, y1);
                    }
                }
                treemap.round = function (x) {
                    return arguments.length ? (round = !!x, treemap) : round;
                };
                treemap.size = function (x) {
                    return arguments.length ? (dx = +x[0], dy = +x[1], treemap) : [
                        dx,
                        dy
                    ];
                };
                treemap.tile = function (x) {
                    return arguments.length ? (tile = Object(_accessors_js__WEBPACK_IMPORTED_MODULE_2__['required'])(x), treemap) : tile;
                };
                treemap.padding = function (x) {
                    return arguments.length ? treemap.paddingInner(x).paddingOuter(x) : treemap.paddingInner();
                };
                treemap.paddingInner = function (x) {
                    return arguments.length ? (paddingInner = typeof x === 'function' ? x : Object(_constant_js__WEBPACK_IMPORTED_MODULE_3__['default'])(+x), treemap) : paddingInner;
                };
                treemap.paddingOuter = function (x) {
                    return arguments.length ? treemap.paddingTop(x).paddingRight(x).paddingBottom(x).paddingLeft(x) : treemap.paddingTop();
                };
                treemap.paddingTop = function (x) {
                    return arguments.length ? (paddingTop = typeof x === 'function' ? x : Object(_constant_js__WEBPACK_IMPORTED_MODULE_3__['default'])(+x), treemap) : paddingTop;
                };
                treemap.paddingRight = function (x) {
                    return arguments.length ? (paddingRight = typeof x === 'function' ? x : Object(_constant_js__WEBPACK_IMPORTED_MODULE_3__['default'])(+x), treemap) : paddingRight;
                };
                treemap.paddingBottom = function (x) {
                    return arguments.length ? (paddingBottom = typeof x === 'function' ? x : Object(_constant_js__WEBPACK_IMPORTED_MODULE_3__['default'])(+x), treemap) : paddingBottom;
                };
                treemap.paddingLeft = function (x) {
                    return arguments.length ? (paddingLeft = typeof x === 'function' ? x : Object(_constant_js__WEBPACK_IMPORTED_MODULE_3__['default'])(+x), treemap) : paddingLeft;
                };
                return treemap;
            };
        },
        './node_modules/d3-hierarchy/src/treemap/resquarify.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _dice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/dice.js');
            var _slice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/slice.js');
            var _squarify_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/squarify.js');
            __webpack_exports__['default'] = function custom(ratio) {
                function resquarify(parent, x0, y0, x1, y1) {
                    if ((rows = parent._squarify) && rows.ratio === ratio) {
                        var rows, row, nodes, i, j = -1, n, m = rows.length, value = parent.value;
                        while (++j < m) {
                            row = rows[j], nodes = row.children;
                            for (i = row.value = 0, n = nodes.length; i < n; ++i)
                                row.value += nodes[i].value;
                            if (row.dice)
                                Object(_dice_js__WEBPACK_IMPORTED_MODULE_0__['default'])(row, x0, y0, x1, y0 += (y1 - y0) * row.value / value);
                            else
                                Object(_slice_js__WEBPACK_IMPORTED_MODULE_1__['default'])(row, x0, y0, x0 += (x1 - x0) * row.value / value, y1);
                            value -= row.value;
                        }
                    } else {
                        parent._squarify = rows = Object(_squarify_js__WEBPACK_IMPORTED_MODULE_2__['squarifyRatio'])(ratio, parent, x0, y0, x1, y1);
                        rows.ratio = ratio;
                    }
                }
                resquarify.ratio = function (x) {
                    return custom((x = +x) > 1 ? x : 1);
                };
                return resquarify;
            }(_squarify_js__WEBPACK_IMPORTED_MODULE_2__['phi']);
        },
        './node_modules/d3-hierarchy/src/treemap/round.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (node) {
                node.x0 = Math.round(node.x0);
                node.y0 = Math.round(node.y0);
                node.x1 = Math.round(node.x1);
                node.y1 = Math.round(node.y1);
            };
        },
        './node_modules/d3-hierarchy/src/treemap/slice.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (parent, x0, y0, x1, y1) {
                var nodes = parent.children, node, i = -1, n = nodes.length, k = parent.value && (y1 - y0) / parent.value;
                while (++i < n) {
                    node = nodes[i], node.x0 = x0, node.x1 = x1;
                    node.y0 = y0, node.y1 = y0 += node.value * k;
                }
            };
        },
        './node_modules/d3-hierarchy/src/treemap/sliceDice.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _dice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/dice.js');
            var _slice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/slice.js');
            __webpack_exports__['default'] = function (parent, x0, y0, x1, y1) {
                (parent.depth & 1 ? _slice_js__WEBPACK_IMPORTED_MODULE_1__['default'] : _dice_js__WEBPACK_IMPORTED_MODULE_0__['default'])(parent, x0, y0, x1, y1);
            };
        },
        './node_modules/d3-hierarchy/src/treemap/squarify.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'phi', function () {
                return phi;
            });
            __webpack_require__.d(__webpack_exports__, 'squarifyRatio', function () {
                return squarifyRatio;
            });
            var _dice_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/dice.js');
            var _slice_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-hierarchy/src/treemap/slice.js');
            var phi = (1 + Math.sqrt(5)) / 2;
            function squarifyRatio(ratio, parent, x0, y0, x1, y1) {
                var rows = [], nodes = parent.children, row, nodeValue, i0 = 0, i1 = 0, n = nodes.length, dx, dy, value = parent.value, sumValue, minValue, maxValue, newRatio, minRatio, alpha, beta;
                while (i0 < n) {
                    dx = x1 - x0, dy = y1 - y0;
                    do
                        sumValue = nodes[i1++].value;
                    while (!sumValue && i1 < n);
                    minValue = maxValue = sumValue;
                    alpha = Math.max(dy / dx, dx / dy) / (value * ratio);
                    beta = sumValue * sumValue * alpha;
                    minRatio = Math.max(maxValue / beta, beta / minValue);
                    for (; i1 < n; ++i1) {
                        sumValue += nodeValue = nodes[i1].value;
                        if (nodeValue < minValue)
                            minValue = nodeValue;
                        if (nodeValue > maxValue)
                            maxValue = nodeValue;
                        beta = sumValue * sumValue * alpha;
                        newRatio = Math.max(maxValue / beta, beta / minValue);
                        if (newRatio > minRatio) {
                            sumValue -= nodeValue;
                            break;
                        }
                        minRatio = newRatio;
                    }
                    rows.push(row = {
                        value: sumValue,
                        dice: dx < dy,
                        children: nodes.slice(i0, i1)
                    });
                    if (row.dice)
                        Object(_dice_js__WEBPACK_IMPORTED_MODULE_0__['default'])(row, x0, y0, x1, value ? y0 += dy * sumValue / value : y1);
                    else
                        Object(_slice_js__WEBPACK_IMPORTED_MODULE_1__['default'])(row, x0, y0, value ? x0 += dx * sumValue / value : x1, y1);
                    value -= sumValue, i0 = i1;
                }
                return rows;
            }
            __webpack_exports__['default'] = function custom(ratio) {
                function squarify(parent, x0, y0, x1, y1) {
                    squarifyRatio(ratio, parent, x0, y0, x1, y1);
                }
                squarify.ratio = function (x) {
                    return custom((x = +x) > 1 ? x : 1);
                };
                return squarify;
            }(phi);
        },
        './node_modules/d3-interpolate/src/array.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'genericArray', function () {
                return genericArray;
            });
            var _value_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-interpolate/src/value.js');
            var _numberArray_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-interpolate/src/numberArray.js');
            __webpack_exports__['default'] = function (a, b) {
                return (Object(_numberArray_js__WEBPACK_IMPORTED_MODULE_1__['isNumberArray'])(b) ? _numberArray_js__WEBPACK_IMPORTED_MODULE_1__['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] = Object(_value_js__WEBPACK_IMPORTED_MODULE_0__['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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'basis', function () {
                return basis;
            });
            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;
            }
            __webpack_exports__['default'] = function (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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _basis_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-interpolate/src/basis.js');
            __webpack_exports__['default'] = function (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 Object(_basis_js__WEBPACK_IMPORTED_MODULE_0__['basis'])((t - i / n) * n, v0, v1, v2, v3);
                };
            };
        },
        './node_modules/d3-interpolate/src/color.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'hue', function () {
                return hue;
            });
            __webpack_require__.d(__webpack_exports__, 'gamma', function () {
                return gamma;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return nogamma;
            });
            var _constant_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./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) : Object(_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) : Object(_constant_js__WEBPACK_IMPORTED_MODULE_0__['default'])(isNaN(a) ? b : a);
                };
            }
            function nogamma(a, b) {
                var d = b - a;
                return d ? linear(a, d) : Object(_constant_js__WEBPACK_IMPORTED_MODULE_0__['default'])(isNaN(a) ? b : a);
            }
        },
        './node_modules/d3-interpolate/src/constant.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return function () {
                    return x;
                };
            };
        },
        './node_modules/d3-interpolate/src/cubehelix.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'cubehelixLong', function () {
                return cubehelixLong;
            });
            var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-color/src/index.js');
            var _color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-interpolate/src/color.js');
            function cubehelix(hue) {
                return function cubehelixGamma(y) {
                    y = +y;
                    function cubehelix(start, end) {
                        var h = hue((start = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['cubehelix'])(start)).h, (end = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['cubehelix'])(end)).h), s = Object(_color_js__WEBPACK_IMPORTED_MODULE_1__['default'])(start.s, end.s), l = Object(_color_js__WEBPACK_IMPORTED_MODULE_1__['default'])(start.l, end.l), opacity = Object(_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);
            }
            __webpack_exports__['default'] = 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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (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/discrete.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (range) {
                var n = range.length;
                return function (t) {
                    return range[Math.max(0, Math.min(n - 1, Math.floor(t * n)))];
                };
            };
        },
        './node_modules/d3-interpolate/src/hcl.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'hclLong', function () {
                return hclLong;
            });
            var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-color/src/index.js');
            var _color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-interpolate/src/color.js');
            function hcl(hue) {
                return function (start, end) {
                    var h = hue((start = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['hcl'])(start)).h, (end = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['hcl'])(end)).h), c = Object(_color_js__WEBPACK_IMPORTED_MODULE_1__['default'])(start.c, end.c), l = Object(_color_js__WEBPACK_IMPORTED_MODULE_1__['default'])(start.l, end.l), opacity = Object(_color_js__WEBPACK_IMPORTED_MODULE_1__['default'])(start.opacity, end.opacity);
                    return function (t) {
                        start.h = h(t);
                        start.c = c(t);
                        start.l = l(t);
                        start.opacity = opacity(t);
                        return start + '';
                    };
                };
            }
            __webpack_exports__['default'] = hcl(_color_js__WEBPACK_IMPORTED_MODULE_1__['hue']);
            var hclLong = hcl(_color_js__WEBPACK_IMPORTED_MODULE_1__['default']);
        },
        './node_modules/d3-interpolate/src/hsl.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'hslLong', function () {
                return hslLong;
            });
            var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-color/src/index.js');
            var _color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-interpolate/src/color.js');
            function hsl(hue) {
                return function (start, end) {
                    var h = hue((start = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['hsl'])(start)).h, (end = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['hsl'])(end)).h), s = Object(_color_js__WEBPACK_IMPORTED_MODULE_1__['default'])(start.s, end.s), l = Object(_color_js__WEBPACK_IMPORTED_MODULE_1__['default'])(start.l, end.l), opacity = Object(_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(t);
                        start.opacity = opacity(t);
                        return start + '';
                    };
                };
            }
            __webpack_exports__['default'] = hsl(_color_js__WEBPACK_IMPORTED_MODULE_1__['hue']);
            var hslLong = hsl(_color_js__WEBPACK_IMPORTED_MODULE_1__['default']);
        },
        './node_modules/d3-interpolate/src/hue.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _color_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-interpolate/src/color.js');
            __webpack_exports__['default'] = function (a, b) {
                var i = Object(_color_js__WEBPACK_IMPORTED_MODULE_0__['hue'])(+a, +b);
                return function (t) {
                    var x = i(t);
                    return x - 360 * Math.floor(x / 360);
                };
            };
        },
        './node_modules/d3-interpolate/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _value_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-interpolate/src/value.js');
            __webpack_require__.d(__webpack_exports__, 'interpolate', function () {
                return _value_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _array_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-interpolate/src/array.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateArray', function () {
                return _array_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _basis_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-interpolate/src/basis.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateBasis', function () {
                return _basis_js__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            var _basisClosed_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-interpolate/src/basisClosed.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateBasisClosed', function () {
                return _basisClosed_js__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
            var _date_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-interpolate/src/date.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateDate', function () {
                return _date_js__WEBPACK_IMPORTED_MODULE_4__['default'];
            });
            var _discrete_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-interpolate/src/discrete.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateDiscrete', function () {
                return _discrete_js__WEBPACK_IMPORTED_MODULE_5__['default'];
            });
            var _hue_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-interpolate/src/hue.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateHue', function () {
                return _hue_js__WEBPACK_IMPORTED_MODULE_6__['default'];
            });
            var _number_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-interpolate/src/number.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateNumber', function () {
                return _number_js__WEBPACK_IMPORTED_MODULE_7__['default'];
            });
            var _numberArray_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-interpolate/src/numberArray.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateNumberArray', function () {
                return _numberArray_js__WEBPACK_IMPORTED_MODULE_8__['default'];
            });
            var _object_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__('./node_modules/d3-interpolate/src/object.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateObject', function () {
                return _object_js__WEBPACK_IMPORTED_MODULE_9__['default'];
            });
            var _round_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__('./node_modules/d3-interpolate/src/round.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateRound', function () {
                return _round_js__WEBPACK_IMPORTED_MODULE_10__['default'];
            });
            var _string_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__('./node_modules/d3-interpolate/src/string.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateString', function () {
                return _string_js__WEBPACK_IMPORTED_MODULE_11__['default'];
            });
            var _transform_index_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__('./node_modules/d3-interpolate/src/transform/index.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateTransformCss', function () {
                return _transform_index_js__WEBPACK_IMPORTED_MODULE_12__['interpolateTransformCss'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateTransformSvg', function () {
                return _transform_index_js__WEBPACK_IMPORTED_MODULE_12__['interpolateTransformSvg'];
            });
            var _zoom_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__('./node_modules/d3-interpolate/src/zoom.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateZoom', function () {
                return _zoom_js__WEBPACK_IMPORTED_MODULE_13__['default'];
            });
            var _rgb_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__('./node_modules/d3-interpolate/src/rgb.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateRgb', function () {
                return _rgb_js__WEBPACK_IMPORTED_MODULE_14__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateRgbBasis', function () {
                return _rgb_js__WEBPACK_IMPORTED_MODULE_14__['rgbBasis'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateRgbBasisClosed', function () {
                return _rgb_js__WEBPACK_IMPORTED_MODULE_14__['rgbBasisClosed'];
            });
            var _hsl_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__('./node_modules/d3-interpolate/src/hsl.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateHsl', function () {
                return _hsl_js__WEBPACK_IMPORTED_MODULE_15__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateHslLong', function () {
                return _hsl_js__WEBPACK_IMPORTED_MODULE_15__['hslLong'];
            });
            var _lab_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__('./node_modules/d3-interpolate/src/lab.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateLab', function () {
                return _lab_js__WEBPACK_IMPORTED_MODULE_16__['default'];
            });
            var _hcl_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__('./node_modules/d3-interpolate/src/hcl.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateHcl', function () {
                return _hcl_js__WEBPACK_IMPORTED_MODULE_17__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateHclLong', function () {
                return _hcl_js__WEBPACK_IMPORTED_MODULE_17__['hclLong'];
            });
            var _cubehelix_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__('./node_modules/d3-interpolate/src/cubehelix.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateCubehelix', function () {
                return _cubehelix_js__WEBPACK_IMPORTED_MODULE_18__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateCubehelixLong', function () {
                return _cubehelix_js__WEBPACK_IMPORTED_MODULE_18__['cubehelixLong'];
            });
            var _piecewise_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__('./node_modules/d3-interpolate/src/piecewise.js');
            __webpack_require__.d(__webpack_exports__, 'piecewise', function () {
                return _piecewise_js__WEBPACK_IMPORTED_MODULE_19__['default'];
            });
            var _quantize_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__('./node_modules/d3-interpolate/src/quantize.js');
            __webpack_require__.d(__webpack_exports__, 'quantize', function () {
                return _quantize_js__WEBPACK_IMPORTED_MODULE_20__['default'];
            });
        },
        './node_modules/d3-interpolate/src/lab.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return lab;
            });
            var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-color/src/index.js');
            var _color_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-interpolate/src/color.js');
            function lab(start, end) {
                var l = Object(_color_js__WEBPACK_IMPORTED_MODULE_1__['default'])((start = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['lab'])(start)).l, (end = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['lab'])(end)).l), a = Object(_color_js__WEBPACK_IMPORTED_MODULE_1__['default'])(start.a, end.a), b = Object(_color_js__WEBPACK_IMPORTED_MODULE_1__['default'])(start.b, end.b), opacity = Object(_color_js__WEBPACK_IMPORTED_MODULE_1__['default'])(start.opacity, end.opacity);
                return function (t) {
                    start.l = l(t);
                    start.a = a(t);
                    start.b = b(t);
                    start.opacity = opacity(t);
                    return start + '';
                };
            }
        },
        './node_modules/d3-interpolate/src/number.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (a, b) {
                return a = +a, b = +b, function (t) {
                    return a * (1 - t) + b * t;
                };
            };
        },
        './node_modules/d3-interpolate/src/numberArray.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'isNumberArray', function () {
                return isNumberArray;
            });
            __webpack_exports__['default'] = function (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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _value_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-interpolate/src/value.js');
            __webpack_exports__['default'] = function (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] = Object(_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/piecewise.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return piecewise;
            });
            function piecewise(interpolate, values) {
                var i = 0, n = values.length - 1, v = values[0], I = new Array(n < 0 ? 0 : n);
                while (i < n)
                    I[i] = interpolate(v, v = values[++i]);
                return function (t) {
                    var i = Math.max(0, Math.min(n - 1, Math.floor(t *= n)));
                    return I[i](t - i);
                };
            }
        },
        './node_modules/d3-interpolate/src/quantize.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (interpolator, n) {
                var samples = new Array(n);
                for (var i = 0; i < n; ++i)
                    samples[i] = interpolator(i / (n - 1));
                return samples;
            };
        },
        './node_modules/d3-interpolate/src/rgb.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'rgbBasis', function () {
                return rgbBasis;
            });
            __webpack_require__.d(__webpack_exports__, 'rgbBasisClosed', function () {
                return rgbBasisClosed;
            });
            var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-color/src/index.js');
            var _basis_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-interpolate/src/basis.js');
            var _basisClosed_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-interpolate/src/basisClosed.js');
            var _color_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-interpolate/src/color.js');
            __webpack_exports__['default'] = function rgbGamma(y) {
                var color = Object(_color_js__WEBPACK_IMPORTED_MODULE_3__['gamma'])(y);
                function rgb(start, end) {
                    var r = color((start = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['rgb'])(start)).r, (end = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['rgb'])(end)).r), g = color(start.g, end.g), b = color(start.b, end.b), opacity = Object(_color_js__WEBPACK_IMPORTED_MODULE_3__['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 = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['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_1__['default']);
            var rgbBasisClosed = rgbSpline(_basisClosed_js__WEBPACK_IMPORTED_MODULE_2__['default']);
        },
        './node_modules/d3-interpolate/src/round.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (a, b) {
                return a = +a, b = +b, function (t) {
                    return Math.round(a * (1 - t) + b * t);
                };
            };
        },
        './node_modules/d3-interpolate/src/string.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _number_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./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) + '';
                };
            }
            __webpack_exports__['default'] = function (a, b) {
                var bi = reA.lastIndex = reB.lastIndex = 0, am, bm, bs, i = -1, s = [], q = [];
                a = a + '', b = b + '';
                while ((am = reA.exec(a)) && (bm = reB.exec(b))) {
                    if ((bs = bm.index) > bi) {
                        bs = b.slice(bi, bs);
                        if (s[i])
                            s[i] += bs;
                        else
                            s[++i] = bs;
                    }
                    if ((am = am[0]) === (bm = bm[0])) {
                        if (s[i])
                            s[i] += bm;
                        else
                            s[++i] = bm;
                    } else {
                        s[++i] = null;
                        q.push({
                            i: i,
                            x: Object(_number_js__WEBPACK_IMPORTED_MODULE_0__['default'])(am, bm)
                        });
                    }
                    bi = reB.lastIndex;
                }
                if (bi < b.length) {
                    bs = b.slice(bi);
                    if (s[i])
                        s[i] += bs;
                    else
                        s[++i] = bs;
                }
                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/transform/decompose.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'identity', function () {
                return identity;
            });
            var degrees = 180 / Math.PI;
            var identity = {
                translateX: 0,
                translateY: 0,
                rotate: 0,
                skewX: 0,
                scaleX: 1,
                scaleY: 1
            };
            __webpack_exports__['default'] = function (a, b, c, d, e, f) {
                var scaleX, scaleY, skewX;
                if (scaleX = Math.sqrt(a * a + b * b))
                    a /= scaleX, b /= scaleX;
                if (skewX = a * c + b * d)
                    c -= a * skewX, d -= b * skewX;
                if (scaleY = Math.sqrt(c * c + d * d))
                    c /= scaleY, d /= scaleY, skewX /= scaleY;
                if (a * d < b * c)
                    a = -a, b = -b, skewX = -skewX, scaleX = -scaleX;
                return {
                    translateX: e,
                    translateY: f,
                    rotate: Math.atan2(b, a) * degrees,
                    skewX: Math.atan(skewX) * degrees,
                    scaleX: scaleX,
                    scaleY: scaleY
                };
            };
        },
        './node_modules/d3-interpolate/src/transform/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'interpolateTransformCss', function () {
                return interpolateTransformCss;
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateTransformSvg', function () {
                return interpolateTransformSvg;
            });
            var _number_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-interpolate/src/number.js');
            var _parse_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-interpolate/src/transform/parse.js');
            function interpolateTransform(parse, pxComma, pxParen, degParen) {
                function pop(s) {
                    return s.length ? s.pop() + ' ' : '';
                }
                function translate(xa, ya, xb, yb, s, q) {
                    if (xa !== xb || ya !== yb) {
                        var i = s.push('translate(', null, pxComma, null, pxParen);
                        q.push({
                            i: i - 4,
                            x: Object(_number_js__WEBPACK_IMPORTED_MODULE_0__['default'])(xa, xb)
                        }, {
                            i: i - 2,
                            x: Object(_number_js__WEBPACK_IMPORTED_MODULE_0__['default'])(ya, yb)
                        });
                    } else if (xb || yb) {
                        s.push('translate(' + xb + pxComma + yb + pxParen);
                    }
                }
                function rotate(a, b, s, q) {
                    if (a !== b) {
                        if (a - b > 180)
                            b += 360;
                        else if (b - a > 180)
                            a += 360;
                        q.push({
                            i: s.push(pop(s) + 'rotate(', null, degParen) - 2,
                            x: Object(_number_js__WEBPACK_IMPORTED_MODULE_0__['default'])(a, b)
                        });
                    } else if (b) {
                        s.push(pop(s) + 'rotate(' + b + degParen);
                    }
                }
                function skewX(a, b, s, q) {
                    if (a !== b) {
                        q.push({
                            i: s.push(pop(s) + 'skewX(', null, degParen) - 2,
                            x: Object(_number_js__WEBPACK_IMPORTED_MODULE_0__['default'])(a, b)
                        });
                    } else if (b) {
                        s.push(pop(s) + 'skewX(' + b + degParen);
                    }
                }
                function scale(xa, ya, xb, yb, s, q) {
                    if (xa !== xb || ya !== yb) {
                        var i = s.push(pop(s) + 'scale(', null, ',', null, ')');
                        q.push({
                            i: i - 4,
                            x: Object(_number_js__WEBPACK_IMPORTED_MODULE_0__['default'])(xa, xb)
                        }, {
                            i: i - 2,
                            x: Object(_number_js__WEBPACK_IMPORTED_MODULE_0__['default'])(ya, yb)
                        });
                    } else if (xb !== 1 || yb !== 1) {
                        s.push(pop(s) + 'scale(' + xb + ',' + yb + ')');
                    }
                }
                return function (a, b) {
                    var s = [], q = [];
                    a = parse(a), b = parse(b);
                    translate(a.translateX, a.translateY, b.translateX, b.translateY, s, q);
                    rotate(a.rotate, b.rotate, s, q);
                    skewX(a.skewX, b.skewX, s, q);
                    scale(a.scaleX, a.scaleY, b.scaleX, b.scaleY, s, q);
                    a = b = null;
                    return function (t) {
                        var i = -1, n = q.length, o;
                        while (++i < n)
                            s[(o = q[i]).i] = o.x(t);
                        return s.join('');
                    };
                };
            }
            var interpolateTransformCss = interpolateTransform(_parse_js__WEBPACK_IMPORTED_MODULE_1__['parseCss'], 'px, ', 'px)', 'deg)');
            var interpolateTransformSvg = interpolateTransform(_parse_js__WEBPACK_IMPORTED_MODULE_1__['parseSvg'], ', ', ')', ')');
        },
        './node_modules/d3-interpolate/src/transform/parse.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'parseCss', function () {
                return parseCss;
            });
            __webpack_require__.d(__webpack_exports__, 'parseSvg', function () {
                return parseSvg;
            });
            var _decompose_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-interpolate/src/transform/decompose.js');
            var cssNode, cssRoot, cssView, svgNode;
            function parseCss(value) {
                if (value === 'none')
                    return _decompose_js__WEBPACK_IMPORTED_MODULE_0__['identity'];
                if (!cssNode)
                    cssNode = document.createElement('DIV'), cssRoot = document.documentElement, cssView = document.defaultView;
                cssNode.style.transform = value;
                value = cssView.getComputedStyle(cssRoot.appendChild(cssNode), null).getPropertyValue('transform');
                cssRoot.removeChild(cssNode);
                value = value.slice(7, -1).split(',');
                return Object(_decompose_js__WEBPACK_IMPORTED_MODULE_0__['default'])(+value[0], +value[1], +value[2], +value[3], +value[4], +value[5]);
            }
            function parseSvg(value) {
                if (value == null)
                    return _decompose_js__WEBPACK_IMPORTED_MODULE_0__['identity'];
                if (!svgNode)
                    svgNode = document.createElementNS('http://www.w3.org/2000/svg', 'g');
                svgNode.setAttribute('transform', value);
                if (!(value = svgNode.transform.baseVal.consolidate()))
                    return _decompose_js__WEBPACK_IMPORTED_MODULE_0__['identity'];
                value = value.matrix;
                return Object(_decompose_js__WEBPACK_IMPORTED_MODULE_0__['default'])(value.a, value.b, value.c, value.d, value.e, value.f);
            }
        },
        './node_modules/d3-interpolate/src/value.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-color/src/index.js');
            var _rgb_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-interpolate/src/rgb.js');
            var _array_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-interpolate/src/array.js');
            var _date_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-interpolate/src/date.js');
            var _number_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-interpolate/src/number.js');
            var _object_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-interpolate/src/object.js');
            var _string_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-interpolate/src/string.js');
            var _constant_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-interpolate/src/constant.js');
            var _numberArray_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-interpolate/src/numberArray.js');
            __webpack_exports__['default'] = function (a, b) {
                var t = typeof b, c;
                return b == null || t === 'boolean' ? Object(_constant_js__WEBPACK_IMPORTED_MODULE_7__['default'])(b) : (t === 'number' ? _number_js__WEBPACK_IMPORTED_MODULE_4__['default'] : t === 'string' ? (c = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['color'])(b)) ? (b = c, _rgb_js__WEBPACK_IMPORTED_MODULE_1__['default']) : _string_js__WEBPACK_IMPORTED_MODULE_6__['default'] : b instanceof d3_color__WEBPACK_IMPORTED_MODULE_0__['color'] ? _rgb_js__WEBPACK_IMPORTED_MODULE_1__['default'] : b instanceof Date ? _date_js__WEBPACK_IMPORTED_MODULE_3__['default'] : Object(_numberArray_js__WEBPACK_IMPORTED_MODULE_8__['isNumberArray'])(b) ? _numberArray_js__WEBPACK_IMPORTED_MODULE_8__['default'] : Array.isArray(b) ? _array_js__WEBPACK_IMPORTED_MODULE_2__['genericArray'] : typeof b.valueOf !== 'function' && typeof b.toString !== 'function' || isNaN(b) ? _object_js__WEBPACK_IMPORTED_MODULE_5__['default'] : _number_js__WEBPACK_IMPORTED_MODULE_4__['default'])(a, b);
            };
        },
        './node_modules/d3-interpolate/src/zoom.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var rho = Math.SQRT2, rho2 = 2, rho4 = 4, epsilon2 = 1e-12;
            function cosh(x) {
                return ((x = Math.exp(x)) + 1 / x) / 2;
            }
            function sinh(x) {
                return ((x = Math.exp(x)) - 1 / x) / 2;
            }
            function tanh(x) {
                return ((x = Math.exp(2 * x)) - 1) / (x + 1);
            }
            __webpack_exports__['default'] = function (p0, p1) {
                var ux0 = p0[0], uy0 = p0[1], w0 = p0[2], ux1 = p1[0], uy1 = p1[1], w1 = p1[2], dx = ux1 - ux0, dy = uy1 - uy0, d2 = dx * dx + dy * dy, i, S;
                if (d2 < epsilon2) {
                    S = Math.log(w1 / w0) / rho;
                    i = function (t) {
                        return [
                            ux0 + t * dx,
                            uy0 + t * dy,
                            w0 * Math.exp(rho * t * S)
                        ];
                    };
                } else {
                    var d1 = Math.sqrt(d2), b0 = (w1 * w1 - w0 * w0 + rho4 * d2) / (2 * w0 * rho2 * d1), b1 = (w1 * w1 - w0 * w0 - rho4 * d2) / (2 * w1 * rho2 * d1), r0 = Math.log(Math.sqrt(b0 * b0 + 1) - b0), r1 = Math.log(Math.sqrt(b1 * b1 + 1) - b1);
                    S = (r1 - r0) / rho;
                    i = function (t) {
                        var s = t * S, coshr0 = cosh(r0), u = w0 / (rho2 * d1) * (coshr0 * tanh(rho * s + r0) - sinh(r0));
                        return [
                            ux0 + u * dx,
                            uy0 + u * dy,
                            w0 * coshr0 / cosh(rho * s + r0)
                        ];
                    };
                }
                i.duration = S * 1000;
                return i;
            };
        },
        './node_modules/d3-path/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _path_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-path/src/path.js');
            __webpack_require__.d(__webpack_exports__, 'path', function () {
                return _path_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
        },
        './node_modules/d3-path/src/path.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var pi = Math.PI, tau = 2 * pi, epsilon = 0.000001, tauEpsilon = tau - epsilon;
            function Path() {
                this._x0 = this._y0 = this._x1 = this._y1 = null;
                this._ = '';
            }
            function path() {
                return new Path();
            }
            Path.prototype = path.prototype = {
                constructor: Path,
                moveTo: function (x, y) {
                    this._ += 'M' + (this._x0 = this._x1 = +x) + ',' + (this._y0 = this._y1 = +y);
                },
                closePath: function () {
                    if (this._x1 !== null) {
                        this._x1 = this._x0, this._y1 = this._y0;
                        this._ += 'Z';
                    }
                },
                lineTo: function (x, y) {
                    this._ += 'L' + (this._x1 = +x) + ',' + (this._y1 = +y);
                },
                quadraticCurveTo: function (x1, y1, x, y) {
                    this._ += 'Q' + +x1 + ',' + +y1 + ',' + (this._x1 = +x) + ',' + (this._y1 = +y);
                },
                bezierCurveTo: function (x1, y1, x2, y2, x, y) {
                    this._ += 'C' + +x1 + ',' + +y1 + ',' + +x2 + ',' + +y2 + ',' + (this._x1 = +x) + ',' + (this._y1 = +y);
                },
                arcTo: function (x1, y1, x2, y2, r) {
                    x1 = +x1, y1 = +y1, x2 = +x2, y2 = +y2, r = +r;
                    var x0 = this._x1, y0 = this._y1, x21 = x2 - x1, y21 = y2 - y1, x01 = x0 - x1, y01 = y0 - y1, l01_2 = x01 * x01 + y01 * y01;
                    if (r < 0)
                        throw new Error('negative radius: ' + r);
                    if (this._x1 === null) {
                        this._ += 'M' + (this._x1 = x1) + ',' + (this._y1 = y1);
                    } else if (!(l01_2 > epsilon));
                    else if (!(Math.abs(y01 * x21 - y21 * x01) > epsilon) || !r) {
                        this._ += 'L' + (this._x1 = x1) + ',' + (this._y1 = y1);
                    } else {
                        var x20 = x2 - x0, y20 = y2 - y0, l21_2 = x21 * x21 + y21 * y21, l20_2 = x20 * x20 + y20 * y20, l21 = Math.sqrt(l21_2), l01 = Math.sqrt(l01_2), l = r * Math.tan((pi - Math.acos((l21_2 + l01_2 - l20_2) / (2 * l21 * l01))) / 2), t01 = l / l01, t21 = l / l21;
                        if (Math.abs(t01 - 1) > epsilon) {
                            this._ += 'L' + (x1 + t01 * x01) + ',' + (y1 + t01 * y01);
                        }
                        this._ += 'A' + r + ',' + r + ',0,0,' + +(y01 * x20 > x01 * y20) + ',' + (this._x1 = x1 + t21 * x21) + ',' + (this._y1 = y1 + t21 * y21);
                    }
                },
                arc: function (x, y, r, a0, a1, ccw) {
                    x = +x, y = +y, r = +r, ccw = !!ccw;
                    var dx = r * Math.cos(a0), dy = r * Math.sin(a0), x0 = x + dx, y0 = y + dy, cw = 1 ^ ccw, da = ccw ? a0 - a1 : a1 - a0;
                    if (r < 0)
                        throw new Error('negative radius: ' + r);
                    if (this._x1 === null) {
                        this._ += 'M' + x0 + ',' + y0;
                    } else if (Math.abs(this._x1 - x0) > epsilon || Math.abs(this._y1 - y0) > epsilon) {
                        this._ += 'L' + x0 + ',' + y0;
                    }
                    if (!r)
                        return;
                    if (da < 0)
                        da = da % tau + tau;
                    if (da > tauEpsilon) {
                        this._ += 'A' + r + ',' + r + ',0,1,' + cw + ',' + (x - dx) + ',' + (y - dy) + 'A' + r + ',' + r + ',0,1,' + cw + ',' + (this._x1 = x0) + ',' + (this._y1 = y0);
                    } else if (da > epsilon) {
                        this._ += 'A' + r + ',' + r + ',0,' + +(da >= pi) + ',' + cw + ',' + (this._x1 = x + r * Math.cos(a1)) + ',' + (this._y1 = y + r * Math.sin(a1));
                    }
                },
                rect: function (x, y, w, h) {
                    this._ += 'M' + (this._x0 = this._x1 = +x) + ',' + (this._y0 = this._y1 = +y) + 'h' + +w + 'v' + +h + 'h' + -w + 'Z';
                },
                toString: function () {
                    return this._;
                }
            };
            __webpack_exports__['default'] = path;
        },
        './node_modules/d3-polygon/src/area.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (polygon) {
                var i = -1, n = polygon.length, a, b = polygon[n - 1], area = 0;
                while (++i < n) {
                    a = b;
                    b = polygon[i];
                    area += a[1] * b[0] - a[0] * b[1];
                }
                return area / 2;
            };
        },
        './node_modules/d3-polygon/src/centroid.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (polygon) {
                var i = -1, n = polygon.length, x = 0, y = 0, a, b = polygon[n - 1], c, k = 0;
                while (++i < n) {
                    a = b;
                    b = polygon[i];
                    k += c = a[0] * b[1] - b[0] * a[1];
                    x += (a[0] + b[0]) * c;
                    y += (a[1] + b[1]) * c;
                }
                return k *= 3, [
                    x / k,
                    y / k
                ];
            };
        },
        './node_modules/d3-polygon/src/contains.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (polygon, point) {
                var n = polygon.length, p = polygon[n - 1], x = point[0], y = point[1], x0 = p[0], y0 = p[1], x1, y1, inside = false;
                for (var i = 0; i < n; ++i) {
                    p = polygon[i], x1 = p[0], y1 = p[1];
                    if (y1 > y !== y0 > y && x < (x0 - x1) * (y - y1) / (y0 - y1) + x1)
                        inside = !inside;
                    x0 = x1, y0 = y1;
                }
                return inside;
            };
        },
        './node_modules/d3-polygon/src/cross.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (a, b, c) {
                return (b[0] - a[0]) * (c[1] - a[1]) - (b[1] - a[1]) * (c[0] - a[0]);
            };
        },
        './node_modules/d3-polygon/src/hull.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _cross_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-polygon/src/cross.js');
            function lexicographicOrder(a, b) {
                return a[0] - b[0] || a[1] - b[1];
            }
            function computeUpperHullIndexes(points) {
                var n = points.length, indexes = [
                        0,
                        1
                    ], size = 2;
                for (var i = 2; i < n; ++i) {
                    while (size > 1 && Object(_cross_js__WEBPACK_IMPORTED_MODULE_0__['default'])(points[indexes[size - 2]], points[indexes[size - 1]], points[i]) <= 0)
                        --size;
                    indexes[size++] = i;
                }
                return indexes.slice(0, size);
            }
            __webpack_exports__['default'] = function (points) {
                if ((n = points.length) < 3)
                    return null;
                var i, n, sortedPoints = new Array(n), flippedPoints = new Array(n);
                for (i = 0; i < n; ++i)
                    sortedPoints[i] = [
                        +points[i][0],
                        +points[i][1],
                        i
                    ];
                sortedPoints.sort(lexicographicOrder);
                for (i = 0; i < n; ++i)
                    flippedPoints[i] = [
                        sortedPoints[i][0],
                        -sortedPoints[i][1]
                    ];
                var upperIndexes = computeUpperHullIndexes(sortedPoints), lowerIndexes = computeUpperHullIndexes(flippedPoints);
                var skipLeft = lowerIndexes[0] === upperIndexes[0], skipRight = lowerIndexes[lowerIndexes.length - 1] === upperIndexes[upperIndexes.length - 1], hull = [];
                for (i = upperIndexes.length - 1; i >= 0; --i)
                    hull.push(points[sortedPoints[upperIndexes[i]][2]]);
                for (i = +skipLeft; i < lowerIndexes.length - skipRight; ++i)
                    hull.push(points[sortedPoints[lowerIndexes[i]][2]]);
                return hull;
            };
        },
        './node_modules/d3-polygon/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _area_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-polygon/src/area.js');
            __webpack_require__.d(__webpack_exports__, 'polygonArea', function () {
                return _area_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _centroid_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-polygon/src/centroid.js');
            __webpack_require__.d(__webpack_exports__, 'polygonCentroid', function () {
                return _centroid_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _hull_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-polygon/src/hull.js');
            __webpack_require__.d(__webpack_exports__, 'polygonHull', function () {
                return _hull_js__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            var _contains_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-polygon/src/contains.js');
            __webpack_require__.d(__webpack_exports__, 'polygonContains', function () {
                return _contains_js__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
            var _length_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-polygon/src/length.js');
            __webpack_require__.d(__webpack_exports__, 'polygonLength', function () {
                return _length_js__WEBPACK_IMPORTED_MODULE_4__['default'];
            });
        },
        './node_modules/d3-polygon/src/length.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (polygon) {
                var i = -1, n = polygon.length, b = polygon[n - 1], xa, ya, xb = b[0], yb = b[1], perimeter = 0;
                while (++i < n) {
                    xa = xb;
                    ya = yb;
                    b = polygon[i];
                    xb = b[0];
                    yb = b[1];
                    xa -= xb;
                    ya -= yb;
                    perimeter += Math.sqrt(xa * xa + ya * ya);
                }
                return perimeter;
            };
        },
        './node_modules/d3-quadtree/src/add.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'addAll', function () {
                return addAll;
            });
            __webpack_exports__['default'] = function (d) {
                var x = +this._x.call(null, d), y = +this._y.call(null, d);
                return add(this.cover(x, y), x, y, d);
            };
            function add(tree, x, y, d) {
                if (isNaN(x) || isNaN(y))
                    return tree;
                var parent, node = tree._root, leaf = { data: d }, x0 = tree._x0, y0 = tree._y0, x1 = tree._x1, y1 = tree._y1, xm, ym, xp, yp, right, bottom, i, j;
                if (!node)
                    return tree._root = leaf, tree;
                while (node.length) {
                    if (right = x >= (xm = (x0 + x1) / 2))
                        x0 = xm;
                    else
                        x1 = xm;
                    if (bottom = y >= (ym = (y0 + y1) / 2))
                        y0 = ym;
                    else
                        y1 = ym;
                    if (parent = node, !(node = node[i = bottom << 1 | right]))
                        return parent[i] = leaf, tree;
                }
                xp = +tree._x.call(null, node.data);
                yp = +tree._y.call(null, node.data);
                if (x === xp && y === yp)
                    return leaf.next = node, parent ? parent[i] = leaf : tree._root = leaf, tree;
                do {
                    parent = parent ? parent[i] = new Array(4) : tree._root = new Array(4);
                    if (right = x >= (xm = (x0 + x1) / 2))
                        x0 = xm;
                    else
                        x1 = xm;
                    if (bottom = y >= (ym = (y0 + y1) / 2))
                        y0 = ym;
                    else
                        y1 = ym;
                } while ((i = bottom << 1 | right) === (j = (yp >= ym) << 1 | xp >= xm));
                return parent[j] = node, parent[i] = leaf, tree;
            }
            function addAll(data) {
                var d, i, n = data.length, x, y, xz = new Array(n), yz = new Array(n), x0 = Infinity, y0 = Infinity, x1 = -Infinity, y1 = -Infinity;
                for (i = 0; i < n; ++i) {
                    if (isNaN(x = +this._x.call(null, d = data[i])) || isNaN(y = +this._y.call(null, d)))
                        continue;
                    xz[i] = x;
                    yz[i] = y;
                    if (x < x0)
                        x0 = x;
                    if (x > x1)
                        x1 = x;
                    if (y < y0)
                        y0 = y;
                    if (y > y1)
                        y1 = y;
                }
                if (x0 > x1 || y0 > y1)
                    return this;
                this.cover(x0, y0).cover(x1, y1);
                for (i = 0; i < n; ++i) {
                    add(this, xz[i], yz[i], data[i]);
                }
                return this;
            }
        },
        './node_modules/d3-quadtree/src/cover.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x, y) {
                if (isNaN(x = +x) || isNaN(y = +y))
                    return this;
                var x0 = this._x0, y0 = this._y0, x1 = this._x1, y1 = this._y1;
                if (isNaN(x0)) {
                    x1 = (x0 = Math.floor(x)) + 1;
                    y1 = (y0 = Math.floor(y)) + 1;
                } else {
                    var z = x1 - x0, node = this._root, parent, i;
                    while (x0 > x || x >= x1 || y0 > y || y >= y1) {
                        i = (y < y0) << 1 | x < x0;
                        parent = new Array(4), parent[i] = node, node = parent, z *= 2;
                        switch (i) {
                        case 0:
                            x1 = x0 + z, y1 = y0 + z;
                            break;
                        case 1:
                            x0 = x1 - z, y1 = y0 + z;
                            break;
                        case 2:
                            x1 = x0 + z, y0 = y1 - z;
                            break;
                        case 3:
                            x0 = x1 - z, y0 = y1 - z;
                            break;
                        }
                    }
                    if (this._root && this._root.length)
                        this._root = node;
                }
                this._x0 = x0;
                this._y0 = y0;
                this._x1 = x1;
                this._y1 = y1;
                return this;
            };
        },
        './node_modules/d3-quadtree/src/data.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
                var data = [];
                this.visit(function (node) {
                    if (!node.length)
                        do
                            data.push(node.data);
                        while (node = node.next);
                });
                return data;
            };
        },
        './node_modules/d3-quadtree/src/extent.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (_) {
                return arguments.length ? this.cover(+_[0][0], +_[0][1]).cover(+_[1][0], +_[1][1]) : isNaN(this._x0) ? undefined : [
                    [
                        this._x0,
                        this._y0
                    ],
                    [
                        this._x1,
                        this._y1
                    ]
                ];
            };
        },
        './node_modules/d3-quadtree/src/find.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _quad_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-quadtree/src/quad.js');
            __webpack_exports__['default'] = function (x, y, radius) {
                var data, x0 = this._x0, y0 = this._y0, x1, y1, x2, y2, x3 = this._x1, y3 = this._y1, quads = [], node = this._root, q, i;
                if (node)
                    quads.push(new _quad_js__WEBPACK_IMPORTED_MODULE_0__['default'](node, x0, y0, x3, y3));
                if (radius == null)
                    radius = Infinity;
                else {
                    x0 = x - radius, y0 = y - radius;
                    x3 = x + radius, y3 = y + radius;
                    radius *= radius;
                }
                while (q = quads.pop()) {
                    if (!(node = q.node) || (x1 = q.x0) > x3 || (y1 = q.y0) > y3 || (x2 = q.x1) < x0 || (y2 = q.y1) < y0)
                        continue;
                    if (node.length) {
                        var xm = (x1 + x2) / 2, ym = (y1 + y2) / 2;
                        quads.push(new _quad_js__WEBPACK_IMPORTED_MODULE_0__['default'](node[3], xm, ym, x2, y2), new _quad_js__WEBPACK_IMPORTED_MODULE_0__['default'](node[2], x1, ym, xm, y2), new _quad_js__WEBPACK_IMPORTED_MODULE_0__['default'](node[1], xm, y1, x2, ym), new _quad_js__WEBPACK_IMPORTED_MODULE_0__['default'](node[0], x1, y1, xm, ym));
                        if (i = (y >= ym) << 1 | x >= xm) {
                            q = quads[quads.length - 1];
                            quads[quads.length - 1] = quads[quads.length - 1 - i];
                            quads[quads.length - 1 - i] = q;
                        }
                    } else {
                        var dx = x - +this._x.call(null, node.data), dy = y - +this._y.call(null, node.data), d2 = dx * dx + dy * dy;
                        if (d2 < radius) {
                            var d = Math.sqrt(radius = d2);
                            x0 = x - d, y0 = y - d;
                            x3 = x + d, y3 = y + d;
                            data = node.data;
                        }
                    }
                }
                return data;
            };
        },
        './node_modules/d3-quadtree/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _quadtree_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-quadtree/src/quadtree.js');
            __webpack_require__.d(__webpack_exports__, 'quadtree', function () {
                return _quadtree_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
        },
        './node_modules/d3-quadtree/src/quad.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (node, x0, y0, x1, y1) {
                this.node = node;
                this.x0 = x0;
                this.y0 = y0;
                this.x1 = x1;
                this.y1 = y1;
            };
        },
        './node_modules/d3-quadtree/src/quadtree.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return quadtree;
            });
            var _add_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-quadtree/src/add.js');
            var _cover_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-quadtree/src/cover.js');
            var _data_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-quadtree/src/data.js');
            var _extent_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-quadtree/src/extent.js');
            var _find_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-quadtree/src/find.js');
            var _remove_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-quadtree/src/remove.js');
            var _root_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-quadtree/src/root.js');
            var _size_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-quadtree/src/size.js');
            var _visit_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-quadtree/src/visit.js');
            var _visitAfter_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__('./node_modules/d3-quadtree/src/visitAfter.js');
            var _x_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__('./node_modules/d3-quadtree/src/x.js');
            var _y_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__('./node_modules/d3-quadtree/src/y.js');
            function quadtree(nodes, x, y) {
                var tree = new Quadtree(x == null ? _x_js__WEBPACK_IMPORTED_MODULE_10__['defaultX'] : x, y == null ? _y_js__WEBPACK_IMPORTED_MODULE_11__['defaultY'] : y, NaN, NaN, NaN, NaN);
                return nodes == null ? tree : tree.addAll(nodes);
            }
            function Quadtree(x, y, x0, y0, x1, y1) {
                this._x = x;
                this._y = y;
                this._x0 = x0;
                this._y0 = y0;
                this._x1 = x1;
                this._y1 = y1;
                this._root = undefined;
            }
            function leaf_copy(leaf) {
                var copy = { data: leaf.data }, next = copy;
                while (leaf = leaf.next)
                    next = next.next = { data: leaf.data };
                return copy;
            }
            var treeProto = quadtree.prototype = Quadtree.prototype;
            treeProto.copy = function () {
                var copy = new Quadtree(this._x, this._y, this._x0, this._y0, this._x1, this._y1), node = this._root, nodes, child;
                if (!node)
                    return copy;
                if (!node.length)
                    return copy._root = leaf_copy(node), copy;
                nodes = [{
                        source: node,
                        target: copy._root = new Array(4)
                    }];
                while (node = nodes.pop()) {
                    for (var i = 0; i < 4; ++i) {
                        if (child = node.source[i]) {
                            if (child.length)
                                nodes.push({
                                    source: child,
                                    target: node.target[i] = new Array(4)
                                });
                            else
                                node.target[i] = leaf_copy(child);
                        }
                    }
                }
                return copy;
            };
            treeProto.add = _add_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            treeProto.addAll = _add_js__WEBPACK_IMPORTED_MODULE_0__['addAll'];
            treeProto.cover = _cover_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            treeProto.data = _data_js__WEBPACK_IMPORTED_MODULE_2__['default'];
            treeProto.extent = _extent_js__WEBPACK_IMPORTED_MODULE_3__['default'];
            treeProto.find = _find_js__WEBPACK_IMPORTED_MODULE_4__['default'];
            treeProto.remove = _remove_js__WEBPACK_IMPORTED_MODULE_5__['default'];
            treeProto.removeAll = _remove_js__WEBPACK_IMPORTED_MODULE_5__['removeAll'];
            treeProto.root = _root_js__WEBPACK_IMPORTED_MODULE_6__['default'];
            treeProto.size = _size_js__WEBPACK_IMPORTED_MODULE_7__['default'];
            treeProto.visit = _visit_js__WEBPACK_IMPORTED_MODULE_8__['default'];
            treeProto.visitAfter = _visitAfter_js__WEBPACK_IMPORTED_MODULE_9__['default'];
            treeProto.x = _x_js__WEBPACK_IMPORTED_MODULE_10__['default'];
            treeProto.y = _y_js__WEBPACK_IMPORTED_MODULE_11__['default'];
        },
        './node_modules/d3-quadtree/src/remove.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'removeAll', function () {
                return removeAll;
            });
            __webpack_exports__['default'] = function (d) {
                if (isNaN(x = +this._x.call(null, d)) || isNaN(y = +this._y.call(null, d)))
                    return this;
                var parent, node = this._root, retainer, previous, next, x0 = this._x0, y0 = this._y0, x1 = this._x1, y1 = this._y1, x, y, xm, ym, right, bottom, i, j;
                if (!node)
                    return this;
                if (node.length)
                    while (true) {
                        if (right = x >= (xm = (x0 + x1) / 2))
                            x0 = xm;
                        else
                            x1 = xm;
                        if (bottom = y >= (ym = (y0 + y1) / 2))
                            y0 = ym;
                        else
                            y1 = ym;
                        if (!(parent = node, node = node[i = bottom << 1 | right]))
                            return this;
                        if (!node.length)
                            break;
                        if (parent[i + 1 & 3] || parent[i + 2 & 3] || parent[i + 3 & 3])
                            retainer = parent, j = i;
                    }
                while (node.data !== d)
                    if (!(previous = node, node = node.next))
                        return this;
                if (next = node.next)
                    delete node.next;
                if (previous)
                    return next ? previous.next = next : delete previous.next, this;
                if (!parent)
                    return this._root = next, this;
                next ? parent[i] = next : delete parent[i];
                if ((node = parent[0] || parent[1] || parent[2] || parent[3]) && node === (parent[3] || parent[2] || parent[1] || parent[0]) && !node.length) {
                    if (retainer)
                        retainer[j] = node;
                    else
                        this._root = node;
                }
                return this;
            };
            function removeAll(data) {
                for (var i = 0, n = data.length; i < n; ++i)
                    this.remove(data[i]);
                return this;
            }
        },
        './node_modules/d3-quadtree/src/root.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
                return this._root;
            };
        },
        './node_modules/d3-quadtree/src/size.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
                var size = 0;
                this.visit(function (node) {
                    if (!node.length)
                        do
                            ++size;
                        while (node = node.next);
                });
                return size;
            };
        },
        './node_modules/d3-quadtree/src/visit.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _quad_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-quadtree/src/quad.js');
            __webpack_exports__['default'] = function (callback) {
                var quads = [], q, node = this._root, child, x0, y0, x1, y1;
                if (node)
                    quads.push(new _quad_js__WEBPACK_IMPORTED_MODULE_0__['default'](node, this._x0, this._y0, this._x1, this._y1));
                while (q = quads.pop()) {
                    if (!callback(node = q.node, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1) && node.length) {
                        var xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;
                        if (child = node[3])
                            quads.push(new _quad_js__WEBPACK_IMPORTED_MODULE_0__['default'](child, xm, ym, x1, y1));
                        if (child = node[2])
                            quads.push(new _quad_js__WEBPACK_IMPORTED_MODULE_0__['default'](child, x0, ym, xm, y1));
                        if (child = node[1])
                            quads.push(new _quad_js__WEBPACK_IMPORTED_MODULE_0__['default'](child, xm, y0, x1, ym));
                        if (child = node[0])
                            quads.push(new _quad_js__WEBPACK_IMPORTED_MODULE_0__['default'](child, x0, y0, xm, ym));
                    }
                }
                return this;
            };
        },
        './node_modules/d3-quadtree/src/visitAfter.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _quad_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-quadtree/src/quad.js');
            __webpack_exports__['default'] = function (callback) {
                var quads = [], next = [], q;
                if (this._root)
                    quads.push(new _quad_js__WEBPACK_IMPORTED_MODULE_0__['default'](this._root, this._x0, this._y0, this._x1, this._y1));
                while (q = quads.pop()) {
                    var node = q.node;
                    if (node.length) {
                        var child, x0 = q.x0, y0 = q.y0, x1 = q.x1, y1 = q.y1, xm = (x0 + x1) / 2, ym = (y0 + y1) / 2;
                        if (child = node[0])
                            quads.push(new _quad_js__WEBPACK_IMPORTED_MODULE_0__['default'](child, x0, y0, xm, ym));
                        if (child = node[1])
                            quads.push(new _quad_js__WEBPACK_IMPORTED_MODULE_0__['default'](child, xm, y0, x1, ym));
                        if (child = node[2])
                            quads.push(new _quad_js__WEBPACK_IMPORTED_MODULE_0__['default'](child, x0, ym, xm, y1));
                        if (child = node[3])
                            quads.push(new _quad_js__WEBPACK_IMPORTED_MODULE_0__['default'](child, xm, ym, x1, y1));
                    }
                    next.push(q);
                }
                while (q = next.pop()) {
                    callback(q.node, q.x0, q.y0, q.x1, q.y1);
                }
                return this;
            };
        },
        './node_modules/d3-quadtree/src/x.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'defaultX', function () {
                return defaultX;
            });
            function defaultX(d) {
                return d[0];
            }
            __webpack_exports__['default'] = function (_) {
                return arguments.length ? (this._x = _, this) : this._x;
            };
        },
        './node_modules/d3-quadtree/src/y.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'defaultY', function () {
                return defaultY;
            });
            function defaultY(d) {
                return d[1];
            }
            __webpack_exports__['default'] = function (_) {
                return arguments.length ? (this._y = _, this) : this._y;
            };
        },
        './node_modules/d3-random/src/bates.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _defaultSource__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-random/src/defaultSource.js');
            var _irwinHall__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-random/src/irwinHall.js');
            __webpack_exports__['default'] = function sourceRandomBates(source) {
                function randomBates(n) {
                    var randomIrwinHall = _irwinHall__WEBPACK_IMPORTED_MODULE_1__['default'].source(source)(n);
                    return function () {
                        return randomIrwinHall() / n;
                    };
                }
                randomBates.source = sourceRandomBates;
                return randomBates;
            }(_defaultSource__WEBPACK_IMPORTED_MODULE_0__['default']);
        },
        './node_modules/d3-random/src/defaultSource.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
                return Math.random();
            };
        },
        './node_modules/d3-random/src/exponential.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _defaultSource__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-random/src/defaultSource.js');
            __webpack_exports__['default'] = function sourceRandomExponential(source) {
                function randomExponential(lambda) {
                    return function () {
                        return -Math.log(1 - source()) / lambda;
                    };
                }
                randomExponential.source = sourceRandomExponential;
                return randomExponential;
            }(_defaultSource__WEBPACK_IMPORTED_MODULE_0__['default']);
        },
        './node_modules/d3-random/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _uniform__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-random/src/uniform.js');
            __webpack_require__.d(__webpack_exports__, 'randomUniform', function () {
                return _uniform__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _normal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-random/src/normal.js');
            __webpack_require__.d(__webpack_exports__, 'randomNormal', function () {
                return _normal__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _logNormal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-random/src/logNormal.js');
            __webpack_require__.d(__webpack_exports__, 'randomLogNormal', function () {
                return _logNormal__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            var _bates__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-random/src/bates.js');
            __webpack_require__.d(__webpack_exports__, 'randomBates', function () {
                return _bates__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
            var _irwinHall__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-random/src/irwinHall.js');
            __webpack_require__.d(__webpack_exports__, 'randomIrwinHall', function () {
                return _irwinHall__WEBPACK_IMPORTED_MODULE_4__['default'];
            });
            var _exponential__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-random/src/exponential.js');
            __webpack_require__.d(__webpack_exports__, 'randomExponential', function () {
                return _exponential__WEBPACK_IMPORTED_MODULE_5__['default'];
            });
        },
        './node_modules/d3-random/src/irwinHall.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _defaultSource__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-random/src/defaultSource.js');
            __webpack_exports__['default'] = function sourceRandomIrwinHall(source) {
                function randomIrwinHall(n) {
                    return function () {
                        for (var sum = 0, i = 0; i < n; ++i)
                            sum += source();
                        return sum;
                    };
                }
                randomIrwinHall.source = sourceRandomIrwinHall;
                return randomIrwinHall;
            }(_defaultSource__WEBPACK_IMPORTED_MODULE_0__['default']);
        },
        './node_modules/d3-random/src/logNormal.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _defaultSource__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-random/src/defaultSource.js');
            var _normal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-random/src/normal.js');
            __webpack_exports__['default'] = function sourceRandomLogNormal(source) {
                function randomLogNormal() {
                    var randomNormal = _normal__WEBPACK_IMPORTED_MODULE_1__['default'].source(source).apply(this, arguments);
                    return function () {
                        return Math.exp(randomNormal());
                    };
                }
                randomLogNormal.source = sourceRandomLogNormal;
                return randomLogNormal;
            }(_defaultSource__WEBPACK_IMPORTED_MODULE_0__['default']);
        },
        './node_modules/d3-random/src/normal.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _defaultSource__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-random/src/defaultSource.js');
            __webpack_exports__['default'] = function sourceRandomNormal(source) {
                function randomNormal(mu, sigma) {
                    var x, r;
                    mu = mu == null ? 0 : +mu;
                    sigma = sigma == null ? 1 : +sigma;
                    return function () {
                        var y;
                        if (x != null)
                            y = x, x = null;
                        else
                            do {
                                x = source() * 2 - 1;
                                y = source() * 2 - 1;
                                r = x * x + y * y;
                            } while (!r || r > 1);
                        return mu + sigma * y * Math.sqrt(-2 * Math.log(r) / r);
                    };
                }
                randomNormal.source = sourceRandomNormal;
                return randomNormal;
            }(_defaultSource__WEBPACK_IMPORTED_MODULE_0__['default']);
        },
        './node_modules/d3-random/src/uniform.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _defaultSource__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-random/src/defaultSource.js');
            __webpack_exports__['default'] = function sourceRandomUniform(source) {
                function randomUniform(min, max) {
                    min = min == null ? 0 : +min;
                    max = max == null ? 1 : +max;
                    if (arguments.length === 1)
                        max = min, min = 0;
                    else
                        max -= min;
                    return function () {
                        return source() * max + min;
                    };
                }
                randomUniform.source = sourceRandomUniform;
                return randomUniform;
            }(_defaultSource__WEBPACK_IMPORTED_MODULE_0__['default']);
        },
        './node_modules/d3-scale-chromatic/src/categorical/Accent.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            __webpack_exports__['default'] = Object(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default'])('7fc97fbeaed4fdc086ffff99386cb0f0027fbf5b17666666');
        },
        './node_modules/d3-scale-chromatic/src/categorical/Dark2.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            __webpack_exports__['default'] = Object(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default'])('1b9e77d95f027570b3e7298a66a61ee6ab02a6761d666666');
        },
        './node_modules/d3-scale-chromatic/src/categorical/Paired.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            __webpack_exports__['default'] = Object(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default'])('a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928');
        },
        './node_modules/d3-scale-chromatic/src/categorical/Pastel1.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            __webpack_exports__['default'] = Object(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default'])('fbb4aeb3cde3ccebc5decbe4fed9a6ffffcce5d8bdfddaecf2f2f2');
        },
        './node_modules/d3-scale-chromatic/src/categorical/Pastel2.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            __webpack_exports__['default'] = Object(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default'])('b3e2cdfdcdaccbd5e8f4cae4e6f5c9fff2aef1e2cccccccc');
        },
        './node_modules/d3-scale-chromatic/src/categorical/Set1.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            __webpack_exports__['default'] = Object(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default'])('e41a1c377eb84daf4a984ea3ff7f00ffff33a65628f781bf999999');
        },
        './node_modules/d3-scale-chromatic/src/categorical/Set2.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            __webpack_exports__['default'] = Object(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default'])('66c2a5fc8d628da0cbe78ac3a6d854ffd92fe5c494b3b3b3');
        },
        './node_modules/d3-scale-chromatic/src/categorical/Set3.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            __webpack_exports__['default'] = Object(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default'])('8dd3c7ffffb3bebadafb807280b1d3fdb462b3de69fccde5d9d9d9bc80bdccebc5ffed6f');
        },
        './node_modules/d3-scale-chromatic/src/categorical/Tableau10.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            __webpack_exports__['default'] = Object(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default'])('4e79a7f28e2ce1575976b7b259a14fedc949af7aa1ff9da79c755fbab0ab');
        },
        './node_modules/d3-scale-chromatic/src/categorical/category10.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            __webpack_exports__['default'] = Object(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default'])('1f77b4ff7f0e2ca02cd627289467bd8c564be377c27f7f7fbcbd2217becf');
        },
        './node_modules/d3-scale-chromatic/src/colors.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (specifier) {
                var n = specifier.length / 6 | 0, colors = new Array(n), i = 0;
                while (i < n)
                    colors[i] = '#' + specifier.slice(i * 6, ++i * 6);
                return colors;
            };
        },
        './node_modules/d3-scale-chromatic/src/diverging/BrBG.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('d8b365f5f5f55ab4ac', 'a6611adfc27d80cdc1018571', 'a6611adfc27df5f5f580cdc1018571', '8c510ad8b365f6e8c3c7eae55ab4ac01665e', '8c510ad8b365f6e8c3f5f5f5c7eae55ab4ac01665e', '8c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e', '8c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e', '5430058c510abf812ddfc27df6e8c3c7eae580cdc135978f01665e003c30', '5430058c510abf812ddfc27df6e8c3f5f5f5c7eae580cdc135978f01665e003c30').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/diverging/PRGn.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('af8dc3f7f7f77fbf7b', '7b3294c2a5cfa6dba0008837', '7b3294c2a5cff7f7f7a6dba0008837', '762a83af8dc3e7d4e8d9f0d37fbf7b1b7837', '762a83af8dc3e7d4e8f7f7f7d9f0d37fbf7b1b7837', '762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b7837', '762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b7837', '40004b762a839970abc2a5cfe7d4e8d9f0d3a6dba05aae611b783700441b', '40004b762a839970abc2a5cfe7d4e8f7f7f7d9f0d3a6dba05aae611b783700441b').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/diverging/PiYG.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('e9a3c9f7f7f7a1d76a', 'd01c8bf1b6dab8e1864dac26', 'd01c8bf1b6daf7f7f7b8e1864dac26', 'c51b7de9a3c9fde0efe6f5d0a1d76a4d9221', 'c51b7de9a3c9fde0eff7f7f7e6f5d0a1d76a4d9221', 'c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221', 'c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221', '8e0152c51b7dde77aef1b6dafde0efe6f5d0b8e1867fbc414d9221276419', '8e0152c51b7dde77aef1b6dafde0eff7f7f7e6f5d0b8e1867fbc414d9221276419').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/diverging/PuOr.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('998ec3f7f7f7f1a340', '5e3c99b2abd2fdb863e66101', '5e3c99b2abd2f7f7f7fdb863e66101', '542788998ec3d8daebfee0b6f1a340b35806', '542788998ec3d8daebf7f7f7fee0b6f1a340b35806', '5427888073acb2abd2d8daebfee0b6fdb863e08214b35806', '5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b35806', '2d004b5427888073acb2abd2d8daebfee0b6fdb863e08214b358067f3b08', '2d004b5427888073acb2abd2d8daebf7f7f7fee0b6fdb863e08214b358067f3b08').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/diverging/RdBu.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('ef8a62f7f7f767a9cf', 'ca0020f4a58292c5de0571b0', 'ca0020f4a582f7f7f792c5de0571b0', 'b2182bef8a62fddbc7d1e5f067a9cf2166ac', 'b2182bef8a62fddbc7f7f7f7d1e5f067a9cf2166ac', 'b2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac', 'b2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac', '67001fb2182bd6604df4a582fddbc7d1e5f092c5de4393c32166ac053061', '67001fb2182bd6604df4a582fddbc7f7f7f7d1e5f092c5de4393c32166ac053061').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/diverging/RdGy.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('ef8a62ffffff999999', 'ca0020f4a582bababa404040', 'ca0020f4a582ffffffbababa404040', 'b2182bef8a62fddbc7e0e0e09999994d4d4d', 'b2182bef8a62fddbc7ffffffe0e0e09999994d4d4d', 'b2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d', 'b2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d', '67001fb2182bd6604df4a582fddbc7e0e0e0bababa8787874d4d4d1a1a1a', '67001fb2182bd6604df4a582fddbc7ffffffe0e0e0bababa8787874d4d4d1a1a1a').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/diverging/RdYlBu.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('fc8d59ffffbf91bfdb', 'd7191cfdae61abd9e92c7bb6', 'd7191cfdae61ffffbfabd9e92c7bb6', 'd73027fc8d59fee090e0f3f891bfdb4575b4', 'd73027fc8d59fee090ffffbfe0f3f891bfdb4575b4', 'd73027f46d43fdae61fee090e0f3f8abd9e974add14575b4', 'd73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4', 'a50026d73027f46d43fdae61fee090e0f3f8abd9e974add14575b4313695', 'a50026d73027f46d43fdae61fee090ffffbfe0f3f8abd9e974add14575b4313695').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/diverging/RdYlGn.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('fc8d59ffffbf91cf60', 'd7191cfdae61a6d96a1a9641', 'd7191cfdae61ffffbfa6d96a1a9641', 'd73027fc8d59fee08bd9ef8b91cf601a9850', 'd73027fc8d59fee08bffffbfd9ef8b91cf601a9850', 'd73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850', 'd73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850', 'a50026d73027f46d43fdae61fee08bd9ef8ba6d96a66bd631a9850006837', 'a50026d73027f46d43fdae61fee08bffffbfd9ef8ba6d96a66bd631a9850006837').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/diverging/Spectral.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('fc8d59ffffbf99d594', 'd7191cfdae61abdda42b83ba', 'd7191cfdae61ffffbfabdda42b83ba', 'd53e4ffc8d59fee08be6f59899d5943288bd', 'd53e4ffc8d59fee08bffffbfe6f59899d5943288bd', 'd53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd', 'd53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd', '9e0142d53e4ff46d43fdae61fee08be6f598abdda466c2a53288bd5e4fa2', '9e0142d53e4ff46d43fdae61fee08bffffbfe6f598abdda466c2a53288bd5e4fa2').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _categorical_category10_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/categorical/category10.js');
            __webpack_require__.d(__webpack_exports__, 'schemeCategory10', function () {
                return _categorical_category10_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _categorical_Accent_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/categorical/Accent.js');
            __webpack_require__.d(__webpack_exports__, 'schemeAccent', function () {
                return _categorical_Accent_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _categorical_Dark2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/categorical/Dark2.js');
            __webpack_require__.d(__webpack_exports__, 'schemeDark2', function () {
                return _categorical_Dark2_js__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            var _categorical_Paired_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/categorical/Paired.js');
            __webpack_require__.d(__webpack_exports__, 'schemePaired', function () {
                return _categorical_Paired_js__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
            var _categorical_Pastel1_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/categorical/Pastel1.js');
            __webpack_require__.d(__webpack_exports__, 'schemePastel1', function () {
                return _categorical_Pastel1_js__WEBPACK_IMPORTED_MODULE_4__['default'];
            });
            var _categorical_Pastel2_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/categorical/Pastel2.js');
            __webpack_require__.d(__webpack_exports__, 'schemePastel2', function () {
                return _categorical_Pastel2_js__WEBPACK_IMPORTED_MODULE_5__['default'];
            });
            var _categorical_Set1_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/categorical/Set1.js');
            __webpack_require__.d(__webpack_exports__, 'schemeSet1', function () {
                return _categorical_Set1_js__WEBPACK_IMPORTED_MODULE_6__['default'];
            });
            var _categorical_Set2_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/categorical/Set2.js');
            __webpack_require__.d(__webpack_exports__, 'schemeSet2', function () {
                return _categorical_Set2_js__WEBPACK_IMPORTED_MODULE_7__['default'];
            });
            var _categorical_Set3_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/categorical/Set3.js');
            __webpack_require__.d(__webpack_exports__, 'schemeSet3', function () {
                return _categorical_Set3_js__WEBPACK_IMPORTED_MODULE_8__['default'];
            });
            var _categorical_Tableau10_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/categorical/Tableau10.js');
            __webpack_require__.d(__webpack_exports__, 'schemeTableau10', function () {
                return _categorical_Tableau10_js__WEBPACK_IMPORTED_MODULE_9__['default'];
            });
            var _diverging_BrBG_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/diverging/BrBG.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateBrBG', function () {
                return _diverging_BrBG_js__WEBPACK_IMPORTED_MODULE_10__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeBrBG', function () {
                return _diverging_BrBG_js__WEBPACK_IMPORTED_MODULE_10__['scheme'];
            });
            var _diverging_PRGn_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/diverging/PRGn.js');
            __webpack_require__.d(__webpack_exports__, 'interpolatePRGn', function () {
                return _diverging_PRGn_js__WEBPACK_IMPORTED_MODULE_11__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePRGn', function () {
                return _diverging_PRGn_js__WEBPACK_IMPORTED_MODULE_11__['scheme'];
            });
            var _diverging_PiYG_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/diverging/PiYG.js');
            __webpack_require__.d(__webpack_exports__, 'interpolatePiYG', function () {
                return _diverging_PiYG_js__WEBPACK_IMPORTED_MODULE_12__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePiYG', function () {
                return _diverging_PiYG_js__WEBPACK_IMPORTED_MODULE_12__['scheme'];
            });
            var _diverging_PuOr_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/diverging/PuOr.js');
            __webpack_require__.d(__webpack_exports__, 'interpolatePuOr', function () {
                return _diverging_PuOr_js__WEBPACK_IMPORTED_MODULE_13__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePuOr', function () {
                return _diverging_PuOr_js__WEBPACK_IMPORTED_MODULE_13__['scheme'];
            });
            var _diverging_RdBu_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/diverging/RdBu.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateRdBu', function () {
                return _diverging_RdBu_js__WEBPACK_IMPORTED_MODULE_14__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeRdBu', function () {
                return _diverging_RdBu_js__WEBPACK_IMPORTED_MODULE_14__['scheme'];
            });
            var _diverging_RdGy_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/diverging/RdGy.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateRdGy', function () {
                return _diverging_RdGy_js__WEBPACK_IMPORTED_MODULE_15__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeRdGy', function () {
                return _diverging_RdGy_js__WEBPACK_IMPORTED_MODULE_15__['scheme'];
            });
            var _diverging_RdYlBu_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/diverging/RdYlBu.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateRdYlBu', function () {
                return _diverging_RdYlBu_js__WEBPACK_IMPORTED_MODULE_16__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeRdYlBu', function () {
                return _diverging_RdYlBu_js__WEBPACK_IMPORTED_MODULE_16__['scheme'];
            });
            var _diverging_RdYlGn_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/diverging/RdYlGn.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateRdYlGn', function () {
                return _diverging_RdYlGn_js__WEBPACK_IMPORTED_MODULE_17__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeRdYlGn', function () {
                return _diverging_RdYlGn_js__WEBPACK_IMPORTED_MODULE_17__['scheme'];
            });
            var _diverging_Spectral_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/diverging/Spectral.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateSpectral', function () {
                return _diverging_Spectral_js__WEBPACK_IMPORTED_MODULE_18__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeSpectral', function () {
                return _diverging_Spectral_js__WEBPACK_IMPORTED_MODULE_18__['scheme'];
            });
            var _sequential_multi_BuGn_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/BuGn.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateBuGn', function () {
                return _sequential_multi_BuGn_js__WEBPACK_IMPORTED_MODULE_19__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeBuGn', function () {
                return _sequential_multi_BuGn_js__WEBPACK_IMPORTED_MODULE_19__['scheme'];
            });
            var _sequential_multi_BuPu_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/BuPu.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateBuPu', function () {
                return _sequential_multi_BuPu_js__WEBPACK_IMPORTED_MODULE_20__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeBuPu', function () {
                return _sequential_multi_BuPu_js__WEBPACK_IMPORTED_MODULE_20__['scheme'];
            });
            var _sequential_multi_GnBu_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/GnBu.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateGnBu', function () {
                return _sequential_multi_GnBu_js__WEBPACK_IMPORTED_MODULE_21__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeGnBu', function () {
                return _sequential_multi_GnBu_js__WEBPACK_IMPORTED_MODULE_21__['scheme'];
            });
            var _sequential_multi_OrRd_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/OrRd.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateOrRd', function () {
                return _sequential_multi_OrRd_js__WEBPACK_IMPORTED_MODULE_22__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeOrRd', function () {
                return _sequential_multi_OrRd_js__WEBPACK_IMPORTED_MODULE_22__['scheme'];
            });
            var _sequential_multi_PuBuGn_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/PuBuGn.js');
            __webpack_require__.d(__webpack_exports__, 'interpolatePuBuGn', function () {
                return _sequential_multi_PuBuGn_js__WEBPACK_IMPORTED_MODULE_23__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePuBuGn', function () {
                return _sequential_multi_PuBuGn_js__WEBPACK_IMPORTED_MODULE_23__['scheme'];
            });
            var _sequential_multi_PuBu_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/PuBu.js');
            __webpack_require__.d(__webpack_exports__, 'interpolatePuBu', function () {
                return _sequential_multi_PuBu_js__WEBPACK_IMPORTED_MODULE_24__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePuBu', function () {
                return _sequential_multi_PuBu_js__WEBPACK_IMPORTED_MODULE_24__['scheme'];
            });
            var _sequential_multi_PuRd_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/PuRd.js');
            __webpack_require__.d(__webpack_exports__, 'interpolatePuRd', function () {
                return _sequential_multi_PuRd_js__WEBPACK_IMPORTED_MODULE_25__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePuRd', function () {
                return _sequential_multi_PuRd_js__WEBPACK_IMPORTED_MODULE_25__['scheme'];
            });
            var _sequential_multi_RdPu_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/RdPu.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateRdPu', function () {
                return _sequential_multi_RdPu_js__WEBPACK_IMPORTED_MODULE_26__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeRdPu', function () {
                return _sequential_multi_RdPu_js__WEBPACK_IMPORTED_MODULE_26__['scheme'];
            });
            var _sequential_multi_YlGnBu_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/YlGnBu.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateYlGnBu', function () {
                return _sequential_multi_YlGnBu_js__WEBPACK_IMPORTED_MODULE_27__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeYlGnBu', function () {
                return _sequential_multi_YlGnBu_js__WEBPACK_IMPORTED_MODULE_27__['scheme'];
            });
            var _sequential_multi_YlGn_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/YlGn.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateYlGn', function () {
                return _sequential_multi_YlGn_js__WEBPACK_IMPORTED_MODULE_28__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeYlGn', function () {
                return _sequential_multi_YlGn_js__WEBPACK_IMPORTED_MODULE_28__['scheme'];
            });
            var _sequential_multi_YlOrBr_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/YlOrBr.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateYlOrBr', function () {
                return _sequential_multi_YlOrBr_js__WEBPACK_IMPORTED_MODULE_29__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeYlOrBr', function () {
                return _sequential_multi_YlOrBr_js__WEBPACK_IMPORTED_MODULE_29__['scheme'];
            });
            var _sequential_multi_YlOrRd_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/YlOrRd.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateYlOrRd', function () {
                return _sequential_multi_YlOrRd_js__WEBPACK_IMPORTED_MODULE_30__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeYlOrRd', function () {
                return _sequential_multi_YlOrRd_js__WEBPACK_IMPORTED_MODULE_30__['scheme'];
            });
            var _sequential_single_Blues_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-single/Blues.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateBlues', function () {
                return _sequential_single_Blues_js__WEBPACK_IMPORTED_MODULE_31__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeBlues', function () {
                return _sequential_single_Blues_js__WEBPACK_IMPORTED_MODULE_31__['scheme'];
            });
            var _sequential_single_Greens_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-single/Greens.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateGreens', function () {
                return _sequential_single_Greens_js__WEBPACK_IMPORTED_MODULE_32__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeGreens', function () {
                return _sequential_single_Greens_js__WEBPACK_IMPORTED_MODULE_32__['scheme'];
            });
            var _sequential_single_Greys_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-single/Greys.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateGreys', function () {
                return _sequential_single_Greys_js__WEBPACK_IMPORTED_MODULE_33__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeGreys', function () {
                return _sequential_single_Greys_js__WEBPACK_IMPORTED_MODULE_33__['scheme'];
            });
            var _sequential_single_Purples_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-single/Purples.js');
            __webpack_require__.d(__webpack_exports__, 'interpolatePurples', function () {
                return _sequential_single_Purples_js__WEBPACK_IMPORTED_MODULE_34__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePurples', function () {
                return _sequential_single_Purples_js__WEBPACK_IMPORTED_MODULE_34__['scheme'];
            });
            var _sequential_single_Reds_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-single/Reds.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateReds', function () {
                return _sequential_single_Reds_js__WEBPACK_IMPORTED_MODULE_35__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeReds', function () {
                return _sequential_single_Reds_js__WEBPACK_IMPORTED_MODULE_35__['scheme'];
            });
            var _sequential_single_Oranges_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-single/Oranges.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateOranges', function () {
                return _sequential_single_Oranges_js__WEBPACK_IMPORTED_MODULE_36__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeOranges', function () {
                return _sequential_single_Oranges_js__WEBPACK_IMPORTED_MODULE_36__['scheme'];
            });
            var _sequential_multi_cividis_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/cividis.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateCividis', function () {
                return _sequential_multi_cividis_js__WEBPACK_IMPORTED_MODULE_37__['default'];
            });
            var _sequential_multi_cubehelix_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/cubehelix.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateCubehelixDefault', function () {
                return _sequential_multi_cubehelix_js__WEBPACK_IMPORTED_MODULE_38__['default'];
            });
            var _sequential_multi_rainbow_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/rainbow.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateRainbow', function () {
                return _sequential_multi_rainbow_js__WEBPACK_IMPORTED_MODULE_39__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateWarm', function () {
                return _sequential_multi_rainbow_js__WEBPACK_IMPORTED_MODULE_39__['warm'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateCool', function () {
                return _sequential_multi_rainbow_js__WEBPACK_IMPORTED_MODULE_39__['cool'];
            });
            var _sequential_multi_sinebow_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/sinebow.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateSinebow', function () {
                return _sequential_multi_sinebow_js__WEBPACK_IMPORTED_MODULE_40__['default'];
            });
            var _sequential_multi_turbo_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/turbo.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateTurbo', function () {
                return _sequential_multi_turbo_js__WEBPACK_IMPORTED_MODULE_41__['default'];
            });
            var _sequential_multi_viridis_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/sequential-multi/viridis.js');
            __webpack_require__.d(__webpack_exports__, 'interpolateViridis', function () {
                return _sequential_multi_viridis_js__WEBPACK_IMPORTED_MODULE_42__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateMagma', function () {
                return _sequential_multi_viridis_js__WEBPACK_IMPORTED_MODULE_42__['magma'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateInferno', function () {
                return _sequential_multi_viridis_js__WEBPACK_IMPORTED_MODULE_42__['inferno'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolatePlasma', function () {
                return _sequential_multi_viridis_js__WEBPACK_IMPORTED_MODULE_42__['plasma'];
            });
        },
        './node_modules/d3-scale-chromatic/src/ramp.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_interpolate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-interpolate/src/index.js');
            __webpack_exports__['default'] = function (scheme) {
                return Object(d3_interpolate__WEBPACK_IMPORTED_MODULE_0__['interpolateRgbBasis'])(scheme[scheme.length - 1]);
            };
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/BuGn.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('e5f5f999d8c92ca25f', 'edf8fbb2e2e266c2a4238b45', 'edf8fbb2e2e266c2a42ca25f006d2c', 'edf8fbccece699d8c966c2a42ca25f006d2c', 'edf8fbccece699d8c966c2a441ae76238b45005824', 'f7fcfde5f5f9ccece699d8c966c2a441ae76238b45005824', 'f7fcfde5f5f9ccece699d8c966c2a441ae76238b45006d2c00441b').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/BuPu.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('e0ecf49ebcda8856a7', 'edf8fbb3cde38c96c688419d', 'edf8fbb3cde38c96c68856a7810f7c', 'edf8fbbfd3e69ebcda8c96c68856a7810f7c', 'edf8fbbfd3e69ebcda8c96c68c6bb188419d6e016b', 'f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d6e016b', 'f7fcfde0ecf4bfd3e69ebcda8c96c68c6bb188419d810f7c4d004b').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/GnBu.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('e0f3dba8ddb543a2ca', 'f0f9e8bae4bc7bccc42b8cbe', 'f0f9e8bae4bc7bccc443a2ca0868ac', 'f0f9e8ccebc5a8ddb57bccc443a2ca0868ac', 'f0f9e8ccebc5a8ddb57bccc44eb3d32b8cbe08589e', 'f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe08589e', 'f7fcf0e0f3dbccebc5a8ddb57bccc44eb3d32b8cbe0868ac084081').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/OrRd.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('fee8c8fdbb84e34a33', 'fef0d9fdcc8afc8d59d7301f', 'fef0d9fdcc8afc8d59e34a33b30000', 'fef0d9fdd49efdbb84fc8d59e34a33b30000', 'fef0d9fdd49efdbb84fc8d59ef6548d7301f990000', 'fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301f990000', 'fff7ecfee8c8fdd49efdbb84fc8d59ef6548d7301fb300007f0000').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/PuBu.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('ece7f2a6bddb2b8cbe', 'f1eef6bdc9e174a9cf0570b0', 'f1eef6bdc9e174a9cf2b8cbe045a8d', 'f1eef6d0d1e6a6bddb74a9cf2b8cbe045a8d', 'f1eef6d0d1e6a6bddb74a9cf3690c00570b0034e7b', 'fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0034e7b', 'fff7fbece7f2d0d1e6a6bddb74a9cf3690c00570b0045a8d023858').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/PuBuGn.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('ece2f0a6bddb1c9099', 'f6eff7bdc9e167a9cf02818a', 'f6eff7bdc9e167a9cf1c9099016c59', 'f6eff7d0d1e6a6bddb67a9cf1c9099016c59', 'f6eff7d0d1e6a6bddb67a9cf3690c002818a016450', 'fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016450', 'fff7fbece2f0d0d1e6a6bddb67a9cf3690c002818a016c59014636').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/PuRd.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('e7e1efc994c7dd1c77', 'f1eef6d7b5d8df65b0ce1256', 'f1eef6d7b5d8df65b0dd1c77980043', 'f1eef6d4b9dac994c7df65b0dd1c77980043', 'f1eef6d4b9dac994c7df65b0e7298ace125691003f', 'f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125691003f', 'f7f4f9e7e1efd4b9dac994c7df65b0e7298ace125698004367001f').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/RdPu.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('fde0ddfa9fb5c51b8a', 'feebe2fbb4b9f768a1ae017e', 'feebe2fbb4b9f768a1c51b8a7a0177', 'feebe2fcc5c0fa9fb5f768a1c51b8a7a0177', 'feebe2fcc5c0fa9fb5f768a1dd3497ae017e7a0177', 'fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a0177', 'fff7f3fde0ddfcc5c0fa9fb5f768a1dd3497ae017e7a017749006a').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/YlGn.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('f7fcb9addd8e31a354', 'ffffccc2e69978c679238443', 'ffffccc2e69978c67931a354006837', 'ffffccd9f0a3addd8e78c67931a354006837', 'ffffccd9f0a3addd8e78c67941ab5d238443005a32', 'ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443005a32', 'ffffe5f7fcb9d9f0a3addd8e78c67941ab5d238443006837004529').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/YlGnBu.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('edf8b17fcdbb2c7fb8', 'ffffcca1dab441b6c4225ea8', 'ffffcca1dab441b6c42c7fb8253494', 'ffffccc7e9b47fcdbb41b6c42c7fb8253494', 'ffffccc7e9b47fcdbb41b6c41d91c0225ea80c2c84', 'ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea80c2c84', 'ffffd9edf8b1c7e9b47fcdbb41b6c41d91c0225ea8253494081d58').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/YlOrBr.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('fff7bcfec44fd95f0e', 'ffffd4fed98efe9929cc4c02', 'ffffd4fed98efe9929d95f0e993404', 'ffffd4fee391fec44ffe9929d95f0e993404', 'ffffd4fee391fec44ffe9929ec7014cc4c028c2d04', 'ffffe5fff7bcfee391fec44ffe9929ec7014cc4c028c2d04', 'ffffe5fff7bcfee391fec44ffe9929ec7014cc4c02993404662506').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/YlOrRd.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('ffeda0feb24cf03b20', 'ffffb2fecc5cfd8d3ce31a1c', 'ffffb2fecc5cfd8d3cf03b20bd0026', 'ffffb2fed976feb24cfd8d3cf03b20bd0026', 'ffffb2fed976feb24cfd8d3cfc4e2ae31a1cb10026', 'ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cb10026', 'ffffccffeda0fed976feb24cfd8d3cfc4e2ae31a1cbd0026800026').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/cividis.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (t) {
                t = Math.max(0, Math.min(1, t));
                return 'rgb(' + Math.max(0, Math.min(255, Math.round(-4.54 - t * (35.34 - t * (2381.73 - t * (6402.7 - t * (7024.72 - t * 2710.57))))))) + ', ' + Math.max(0, Math.min(255, Math.round(32.49 + t * (170.73 + t * (52.82 - t * (131.46 - t * (176.58 - t * 67.37))))))) + ', ' + Math.max(0, Math.min(255, Math.round(81.24 + t * (442.36 - t * (2482.43 - t * (6167.24 - t * (6614.94 - t * 2475.67))))))) + ')';
            };
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/cubehelix.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-color/src/index.js');
            var d3_interpolate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-interpolate/src/index.js');
            __webpack_exports__['default'] = Object(d3_interpolate__WEBPACK_IMPORTED_MODULE_1__['interpolateCubehelixLong'])(Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['cubehelix'])(300, 0.5, 0), Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['cubehelix'])(-240, 0.5, 1));
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/rainbow.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'warm', function () {
                return warm;
            });
            __webpack_require__.d(__webpack_exports__, 'cool', function () {
                return cool;
            });
            var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-color/src/index.js');
            var d3_interpolate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-interpolate/src/index.js');
            var warm = Object(d3_interpolate__WEBPACK_IMPORTED_MODULE_1__['interpolateCubehelixLong'])(Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['cubehelix'])(-100, 0.75, 0.35), Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['cubehelix'])(80, 1.5, 0.8));
            var cool = Object(d3_interpolate__WEBPACK_IMPORTED_MODULE_1__['interpolateCubehelixLong'])(Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['cubehelix'])(260, 0.75, 0.35), Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['cubehelix'])(80, 1.5, 0.8));
            var c = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['cubehelix'])();
            __webpack_exports__['default'] = function (t) {
                if (t < 0 || t > 1)
                    t -= Math.floor(t);
                var ts = Math.abs(t - 0.5);
                c.h = 360 * t - 100;
                c.s = 1.5 - 1.5 * ts;
                c.l = 0.8 - 0.9 * ts;
                return c + '';
            };
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/sinebow.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-color/src/index.js');
            var c = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['rgb'])(), pi_1_3 = Math.PI / 3, pi_2_3 = Math.PI * 2 / 3;
            __webpack_exports__['default'] = function (t) {
                var x;
                t = (0.5 - t) * Math.PI;
                c.r = 255 * (x = Math.sin(t)) * x;
                c.g = 255 * (x = Math.sin(t + pi_1_3)) * x;
                c.b = 255 * (x = Math.sin(t + pi_2_3)) * x;
                return c + '';
            };
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/turbo.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (t) {
                t = Math.max(0, Math.min(1, t));
                return 'rgb(' + Math.max(0, Math.min(255, Math.round(34.61 + t * (1172.33 - t * (10793.56 - t * (33300.12 - t * (38394.49 - t * 14825.05))))))) + ', ' + Math.max(0, Math.min(255, Math.round(23.31 + t * (557.33 + t * (1225.33 - t * (3574.96 - t * (1073.77 + t * 707.56))))))) + ', ' + Math.max(0, Math.min(255, Math.round(27.2 + t * (3211.1 - t * (15327.97 - t * (27814 - t * (22569.18 - t * 6838.66))))))) + ')';
            };
        },
        './node_modules/d3-scale-chromatic/src/sequential-multi/viridis.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'magma', function () {
                return magma;
            });
            __webpack_require__.d(__webpack_exports__, 'inferno', function () {
                return inferno;
            });
            __webpack_require__.d(__webpack_exports__, 'plasma', function () {
                return plasma;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/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)))];
                };
            }
            __webpack_exports__['default'] = ramp(Object(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default'])('44015444025645045745055946075a46085c460a5d460b5e470d60470e6147106347116447136548146748166848176948186a481a6c481b6d481c6e481d6f481f70482071482173482374482475482576482677482878482979472a7a472c7a472d7b472e7c472f7d46307e46327e46337f463480453581453781453882443983443a83443b84433d84433e85423f854240864241864142874144874045884046883f47883f48893e49893e4a893e4c8a3d4d8a3d4e8a3c4f8a3c508b3b518b3b528b3a538b3a548c39558c39568c38588c38598c375a8c375b8d365c8d365d8d355e8d355f8d34608d34618d33628d33638d32648e32658e31668e31678e31688e30698e306a8e2f6b8e2f6c8e2e6d8e2e6e8e2e6f8e2d708e2d718e2c718e2c728e2c738e2b748e2b758e2a768e2a778e2a788e29798e297a8e297b8e287c8e287d8e277e8e277f8e27808e26818e26828e26828e25838e25848e25858e24868e24878e23888e23898e238a8d228b8d228c8d228d8d218e8d218f8d21908d21918c20928c20928c20938c1f948c1f958b1f968b1f978b1f988b1f998a1f9a8a1e9b8a1e9c891e9d891f9e891f9f881fa0881fa1881fa1871fa28720a38620a48621a58521a68522a78522a88423a98324aa8325ab8225ac8226ad8127ad8128ae8029af7f2ab07f2cb17e2db27d2eb37c2fb47c31b57b32b67a34b67935b77937b87838b9773aba763bbb753dbc743fbc7340bd7242be7144bf7046c06f48c16e4ac16d4cc26c4ec36b50c46a52c56954c56856c66758c7655ac8645cc8635ec96260ca6063cb5f65cb5e67cc5c69cd5b6ccd5a6ece5870cf5773d05675d05477d1537ad1517cd2507fd34e81d34d84d44b86d54989d5488bd6468ed64590d74393d74195d84098d83e9bd93c9dd93ba0da39a2da37a5db36a8db34aadc32addc30b0dd2fb2dd2db5de2bb8de29bade28bddf26c0df25c2df23c5e021c8e020cae11fcde11dd0e11cd2e21bd5e21ad8e219dae319dde318dfe318e2e418e5e419e7e419eae51aece51befe51cf1e51df4e61ef6e620f8e621fbe723fde725'));
            var magma = ramp(Object(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default'])('00000401000501010601010802010902020b02020d03030f03031204041405041606051806051a07061c08071e0907200a08220b09240c09260d0a290e0b2b100b2d110c2f120d31130d34140e36150e38160f3b180f3d19103f1a10421c10441d11471e114920114b21114e22115024125325125527125829115a2a115c2c115f2d11612f116331116533106734106936106b38106c390f6e3b0f703d0f713f0f72400f74420f75440f764510774710784910784a10794c117a4e117b4f127b51127c52137c54137d56147d57157e59157e5a167e5c167f5d177f5f187f601880621980641a80651a80671b80681c816a1c816b1d816d1d816e1e81701f81721f817320817521817621817822817922827b23827c23827e24828025828125818326818426818627818827818928818b29818c29818e2a81902a81912b81932b80942c80962c80982d80992d809b2e7f9c2e7f9e2f7fa02f7fa1307ea3307ea5317ea6317da8327daa337dab337cad347cae347bb0357bb2357bb3367ab5367ab73779b83779ba3878bc3978bd3977bf3a77c03a76c23b75c43c75c53c74c73d73c83e73ca3e72cc3f71cd4071cf4070d0416fd2426fd3436ed5446dd6456cd8456cd9466bdb476adc4869de4968df4a68e04c67e24d66e34e65e44f64e55064e75263e85362e95462ea5661eb5760ec5860ed5a5fee5b5eef5d5ef05f5ef1605df2625df2645cf3655cf4675cf4695cf56b5cf66c5cf66e5cf7705cf7725cf8745cf8765cf9785df9795df97b5dfa7d5efa7f5efa815ffb835ffb8560fb8761fc8961fc8a62fc8c63fc8e64fc9065fd9266fd9467fd9668fd9869fd9a6afd9b6bfe9d6cfe9f6dfea16efea36ffea571fea772fea973feaa74feac76feae77feb078feb27afeb47bfeb67cfeb77efeb97ffebb81febd82febf84fec185fec287fec488fec68afec88cfeca8dfecc8ffecd90fecf92fed194fed395fed597fed799fed89afdda9cfddc9efddea0fde0a1fde2a3fde3a5fde5a7fde7a9fde9aafdebacfcecaefceeb0fcf0b2fcf2b4fcf4b6fcf6b8fcf7b9fcf9bbfcfbbdfcfdbf'));
            var inferno = ramp(Object(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default'])('00000401000501010601010802010a02020c02020e03021004031204031405041706041907051b08051d09061f0a07220b07240c08260d08290e092b10092d110a30120a32140b34150b37160b39180c3c190c3e1b0c411c0c431e0c451f0c48210c4a230c4c240c4f260c51280b53290b552b0b572d0b592f0a5b310a5c320a5e340a5f3609613809623909633b09643d09653e0966400a67420a68440a68450a69470b6a490b6a4a0c6b4c0c6b4d0d6c4f0d6c510e6c520e6d540f6d550f6d57106e59106e5a116e5c126e5d126e5f136e61136e62146e64156e65156e67166e69166e6a176e6c186e6d186e6f196e71196e721a6e741a6e751b6e771c6d781c6d7a1d6d7c1d6d7d1e6d7f1e6c801f6c82206c84206b85216b87216b88226a8a226a8c23698d23698f24699025689225689326679526679727669827669a28659b29649d29649f2a63a02a63a22b62a32c61a52c60a62d60a82e5fa92e5eab2f5ead305dae305cb0315bb1325ab3325ab43359b63458b73557b93556ba3655bc3754bd3853bf3952c03a51c13a50c33b4fc43c4ec63d4dc73e4cc83f4bca404acb4149cc4248ce4347cf4446d04545d24644d34743d44842d54a41d74b3fd84c3ed94d3dda4e3cdb503bdd513ade5238df5337e05536e15635e25734e35933e45a31e55c30e65d2fe75e2ee8602de9612bea632aeb6429eb6628ec6726ed6925ee6a24ef6c23ef6e21f06f20f1711ff1731df2741cf3761bf37819f47918f57b17f57d15f67e14f68013f78212f78410f8850ff8870ef8890cf98b0bf98c0af98e09fa9008fa9207fa9407fb9606fb9706fb9906fb9b06fb9d07fc9f07fca108fca309fca50afca60cfca80dfcaa0ffcac11fcae12fcb014fcb216fcb418fbb61afbb81dfbba1ffbbc21fbbe23fac026fac228fac42afac62df9c72ff9c932f9cb35f8cd37f8cf3af7d13df7d340f6d543f6d746f5d949f5db4cf4dd4ff4df53f4e156f3e35af3e55df2e661f2e865f2ea69f1ec6df1ed71f1ef75f1f179f2f27df2f482f3f586f3f68af4f88ef5f992f6fa96f8fb9af9fc9dfafda1fcffa4'));
            var plasma = ramp(Object(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default'])('0d088710078813078916078a19068c1b068d1d068e20068f2206902406912605912805922a05932c05942e05952f059631059733059735049837049938049a3a049a3c049b3e049c3f049c41049d43039e44039e46039f48039f4903a04b03a14c02a14e02a25002a25102a35302a35502a45601a45801a45901a55b01a55c01a65e01a66001a66100a76300a76400a76600a76700a86900a86a00a86c00a86e00a86f00a87100a87201a87401a87501a87701a87801a87a02a87b02a87d03a87e03a88004a88104a78305a78405a78606a68707a68808a68a09a58b0aa58d0ba58e0ca48f0da4910ea3920fa39410a29511a19613a19814a099159f9a169f9c179e9d189d9e199da01a9ca11b9ba21d9aa31e9aa51f99a62098a72197a82296aa2395ab2494ac2694ad2793ae2892b02991b12a90b22b8fb32c8eb42e8db52f8cb6308bb7318ab83289ba3388bb3488bc3587bd3786be3885bf3984c03a83c13b82c23c81c33d80c43e7fc5407ec6417dc7427cc8437bc9447aca457acb4679cc4778cc4977cd4a76ce4b75cf4c74d04d73d14e72d24f71d35171d45270d5536fd5546ed6556dd7566cd8576bd9586ada5a6ada5b69db5c68dc5d67dd5e66de5f65de6164df6263e06363e16462e26561e26660e3685fe4695ee56a5de56b5de66c5ce76e5be76f5ae87059e97158e97257ea7457eb7556eb7655ec7754ed7953ed7a52ee7b51ef7c51ef7e50f07f4ff0804ef1814df1834cf2844bf3854bf3874af48849f48948f58b47f58c46f68d45f68f44f79044f79143f79342f89441f89540f9973ff9983ef99a3efa9b3dfa9c3cfa9e3bfb9f3afba139fba238fca338fca537fca636fca835fca934fdab33fdac33fdae32fdaf31fdb130fdb22ffdb42ffdb52efeb72dfeb82cfeba2cfebb2bfebd2afebe2afec029fdc229fdc328fdc527fdc627fdc827fdca26fdcb26fccd25fcce25fcd025fcd225fbd324fbd524fbd724fad824fada24f9dc24f9dd25f8df25f8e125f7e225f7e425f6e626f6e826f5e926f5eb27f4ed27f3ee27f3f027f2f227f1f426f1f525f0f724f0f921'));
        },
        './node_modules/d3-scale-chromatic/src/sequential-single/Blues.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('deebf79ecae13182bd', 'eff3ffbdd7e76baed62171b5', 'eff3ffbdd7e76baed63182bd08519c', 'eff3ffc6dbef9ecae16baed63182bd08519c', 'eff3ffc6dbef9ecae16baed64292c62171b5084594', 'f7fbffdeebf7c6dbef9ecae16baed64292c62171b5084594', 'f7fbffdeebf7c6dbef9ecae16baed64292c62171b508519c08306b').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-single/Greens.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('e5f5e0a1d99b31a354', 'edf8e9bae4b374c476238b45', 'edf8e9bae4b374c47631a354006d2c', 'edf8e9c7e9c0a1d99b74c47631a354006d2c', 'edf8e9c7e9c0a1d99b74c47641ab5d238b45005a32', 'f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45005a32', 'f7fcf5e5f5e0c7e9c0a1d99b74c47641ab5d238b45006d2c00441b').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-single/Greys.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('f0f0f0bdbdbd636363', 'f7f7f7cccccc969696525252', 'f7f7f7cccccc969696636363252525', 'f7f7f7d9d9d9bdbdbd969696636363252525', 'f7f7f7d9d9d9bdbdbd969696737373525252252525', 'fffffff0f0f0d9d9d9bdbdbd969696737373525252252525', 'fffffff0f0f0d9d9d9bdbdbd969696737373525252252525000000').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-single/Oranges.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('fee6cefdae6be6550d', 'feeddefdbe85fd8d3cd94701', 'feeddefdbe85fd8d3ce6550da63603', 'feeddefdd0a2fdae6bfd8d3ce6550da63603', 'feeddefdd0a2fdae6bfd8d3cf16913d948018c2d04', 'fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d948018c2d04', 'fff5ebfee6cefdd0a2fdae6bfd8d3cf16913d94801a636037f2704').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-single/Purples.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('efedf5bcbddc756bb1', 'f2f0f7cbc9e29e9ac86a51a3', 'f2f0f7cbc9e29e9ac8756bb154278f', 'f2f0f7dadaebbcbddc9e9ac8756bb154278f', 'f2f0f7dadaebbcbddc9e9ac8807dba6a51a34a1486', 'fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a34a1486', 'fcfbfdefedf5dadaebbcbddc9e9ac8807dba6a51a354278f3f007d').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale-chromatic/src/sequential-single/Reds.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'scheme', function () {
                return scheme;
            });
            var _colors_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/colors.js');
            var _ramp_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/ramp.js');
            var scheme = new Array(3).concat('fee0d2fc9272de2d26', 'fee5d9fcae91fb6a4acb181d', 'fee5d9fcae91fb6a4ade2d26a50f15', 'fee5d9fcbba1fc9272fb6a4ade2d26a50f15', 'fee5d9fcbba1fc9272fb6a4aef3b2ccb181d99000d', 'fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181d99000d', 'fff5f0fee0d2fcbba1fc9272fb6a4aef3b2ccb181da50f1567000d').map(_colors_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            __webpack_exports__['default'] = Object(_ramp_js__WEBPACK_IMPORTED_MODULE_1__['default'])(scheme);
        },
        './node_modules/d3-scale/src/array.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'map', function () {
                return map;
            });
            __webpack_require__.d(__webpack_exports__, 'slice', function () {
                return slice;
            });
            var array = Array.prototype;
            var map = array.map;
            var slice = array.slice;
        },
        './node_modules/d3-scale/src/band.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return band;
            });
            __webpack_require__.d(__webpack_exports__, 'point', function () {
                return point;
            });
            var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            var _init__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale/src/init.js');
            var _ordinal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-scale/src/ordinal.js');
            function band() {
                var scale = Object(_ordinal__WEBPACK_IMPORTED_MODULE_2__['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 = Object(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 = Math.min(1, paddingOuter = +_), rescale()) : paddingInner;
                };
                scale.paddingInner = function (_) {
                    return arguments.length ? (paddingInner = Math.min(1, _), rescale()) : paddingInner;
                };
                scale.paddingOuter = function (_) {
                    return arguments.length ? (paddingOuter = +_, rescale()) : paddingOuter;
                };
                scale.align = function (_) {
                    return arguments.length ? (align = Math.max(0, Math.min(1, _)), rescale()) : align;
                };
                scale.copy = function () {
                    return band(domain(), range).round(round).paddingInner(paddingInner).paddingOuter(paddingOuter).align(align);
                };
                return _init__WEBPACK_IMPORTED_MODULE_1__['initRange'].apply(rescale(), arguments);
            }
            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.apply(null, arguments).paddingInner(1));
            }
        },
        './node_modules/d3-scale/src/constant.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return function () {
                    return x;
                };
            };
        },
        './node_modules/d3-scale/src/continuous.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'identity', function () {
                return identity;
            });
            __webpack_require__.d(__webpack_exports__, 'copy', function () {
                return copy;
            });
            __webpack_require__.d(__webpack_exports__, 'transformer', function () {
                return transformer;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return continuous;
            });
            var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            var d3_interpolate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-interpolate/src/index.js');
            var _array__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-scale/src/array.js');
            var _constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-scale/src/constant.js');
            var _number__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-scale/src/number.js');
            var unit = [
                0,
                1
            ];
            function identity(x) {
                return x;
            }
            function normalize(a, b) {
                return (b -= a = +a) ? function (x) {
                    return (x - a) / b;
                } : Object(_constant__WEBPACK_IMPORTED_MODULE_3__['default'])(isNaN(b) ? NaN : 0.5);
            }
            function clamper(domain) {
                var a = domain[0], b = domain[domain.length - 1], t;
                if (a > b)
                    t = a, a = b, b = t;
                return function (x) {
                    return Math.max(a, Math.min(b, x));
                };
            }
            function bimap(domain, range, interpolate) {
                var d0 = domain[0], d1 = domain[1], r0 = range[0], r1 = range[1];
                if (d1 < d0)
                    d0 = normalize(d1, d0), r0 = interpolate(r1, r0);
                else
                    d0 = normalize(d0, d1), r0 = interpolate(r0, r1);
                return function (x) {
                    return r0(d0(x));
                };
            }
            function polymap(domain, range, interpolate) {
                var j = Math.min(domain.length, range.length) - 1, d = new Array(j), r = new Array(j), i = -1;
                if (domain[j] < domain[0]) {
                    domain = domain.slice().reverse();
                    range = range.slice().reverse();
                }
                while (++i < j) {
                    d[i] = normalize(domain[i], domain[i + 1]);
                    r[i] = interpolate(range[i], range[i + 1]);
                }
                return function (x) {
                    var i = Object(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()).unknown(source.unknown());
            }
            function transformer() {
                var domain = unit, range = unit, interpolate = d3_interpolate__WEBPACK_IMPORTED_MODULE_1__['interpolate'], transform, untransform, unknown, clamp = identity, piecewise, output, input;
                function rescale() {
                    piecewise = Math.min(domain.length, range.length) > 2 ? polymap : bimap;
                    output = input = null;
                    return scale;
                }
                function scale(x) {
                    return isNaN(x = +x) ? unknown : (output || (output = piecewise(domain.map(transform), range, interpolate)))(transform(clamp(x)));
                }
                scale.invert = function (y) {
                    return clamp(untransform((input || (input = piecewise(range, domain.map(transform), d3_interpolate__WEBPACK_IMPORTED_MODULE_1__['interpolateNumber'])))(y)));
                };
                scale.domain = function (_) {
                    return arguments.length ? (domain = _array__WEBPACK_IMPORTED_MODULE_2__['map'].call(_, _number__WEBPACK_IMPORTED_MODULE_4__['default']), clamp === identity || (clamp = clamper(domain)), rescale()) : domain.slice();
                };
                scale.range = function (_) {
                    return arguments.length ? (range = _array__WEBPACK_IMPORTED_MODULE_2__['slice'].call(_), rescale()) : range.slice();
                };
                scale.rangeRound = function (_) {
                    return range = _array__WEBPACK_IMPORTED_MODULE_2__['slice'].call(_), interpolate = d3_interpolate__WEBPACK_IMPORTED_MODULE_1__['interpolateRound'], rescale();
                };
                scale.clamp = function (_) {
                    return arguments.length ? (clamp = _ ? clamper(domain) : identity, scale) : clamp !== identity;
                };
                scale.interpolate = function (_) {
                    return arguments.length ? (interpolate = _, rescale()) : interpolate;
                };
                scale.unknown = function (_) {
                    return arguments.length ? (unknown = _, scale) : unknown;
                };
                return function (t, u) {
                    transform = t, untransform = u;
                    return rescale();
                };
            }
            function continuous(transform, untransform) {
                return transformer()(transform, untransform);
            }
        },
        './node_modules/d3-scale/src/diverging.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return diverging;
            });
            __webpack_require__.d(__webpack_exports__, 'divergingLog', function () {
                return divergingLog;
            });
            __webpack_require__.d(__webpack_exports__, 'divergingSymlog', function () {
                return divergingSymlog;
            });
            __webpack_require__.d(__webpack_exports__, 'divergingPow', function () {
                return divergingPow;
            });
            __webpack_require__.d(__webpack_exports__, 'divergingSqrt', function () {
                return divergingSqrt;
            });
            var _continuous__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale/src/continuous.js');
            var _init__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale/src/init.js');
            var _linear__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-scale/src/linear.js');
            var _log__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-scale/src/log.js');
            var _sequential__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-scale/src/sequential.js');
            var _symlog__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-scale/src/symlog.js');
            var _pow__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-scale/src/pow.js');
            function transformer() {
                var x0 = 0, x1 = 0.5, x2 = 1, t0, t1, t2, k10, k21, interpolator = _continuous__WEBPACK_IMPORTED_MODULE_0__['identity'], transform, clamp = false, unknown;
                function scale(x) {
                    return isNaN(x = +x) ? unknown : (x = 0.5 + ((x = +transform(x)) - t1) * (x < t1 ? k10 : k21), interpolator(clamp ? Math.max(0, Math.min(1, x)) : x));
                }
                scale.domain = function (_) {
                    return arguments.length ? (t0 = transform(x0 = +_[0]), t1 = transform(x1 = +_[1]), t2 = transform(x2 = +_[2]), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1), scale) : [
                        x0,
                        x1,
                        x2
                    ];
                };
                scale.clamp = function (_) {
                    return arguments.length ? (clamp = !!_, scale) : clamp;
                };
                scale.interpolator = function (_) {
                    return arguments.length ? (interpolator = _, scale) : interpolator;
                };
                scale.unknown = function (_) {
                    return arguments.length ? (unknown = _, scale) : unknown;
                };
                return function (t) {
                    transform = t, t0 = t(x0), t1 = t(x1), t2 = t(x2), k10 = t0 === t1 ? 0 : 0.5 / (t1 - t0), k21 = t1 === t2 ? 0 : 0.5 / (t2 - t1);
                    return scale;
                };
            }
            function diverging() {
                var scale = Object(_linear__WEBPACK_IMPORTED_MODULE_2__['linearish'])(transformer()(_continuous__WEBPACK_IMPORTED_MODULE_0__['identity']));
                scale.copy = function () {
                    return Object(_sequential__WEBPACK_IMPORTED_MODULE_4__['copy'])(scale, diverging());
                };
                return _init__WEBPACK_IMPORTED_MODULE_1__['initInterpolator'].apply(scale, arguments);
            }
            function divergingLog() {
                var scale = Object(_log__WEBPACK_IMPORTED_MODULE_3__['loggish'])(transformer()).domain([
                    0.1,
                    1,
                    10
                ]);
                scale.copy = function () {
                    return Object(_sequential__WEBPACK_IMPORTED_MODULE_4__['copy'])(scale, divergingLog()).base(scale.base());
                };
                return _init__WEBPACK_IMPORTED_MODULE_1__['initInterpolator'].apply(scale, arguments);
            }
            function divergingSymlog() {
                var scale = Object(_symlog__WEBPACK_IMPORTED_MODULE_5__['symlogish'])(transformer());
                scale.copy = function () {
                    return Object(_sequential__WEBPACK_IMPORTED_MODULE_4__['copy'])(scale, divergingSymlog()).constant(scale.constant());
                };
                return _init__WEBPACK_IMPORTED_MODULE_1__['initInterpolator'].apply(scale, arguments);
            }
            function divergingPow() {
                var scale = Object(_pow__WEBPACK_IMPORTED_MODULE_6__['powish'])(transformer());
                scale.copy = function () {
                    return Object(_sequential__WEBPACK_IMPORTED_MODULE_4__['copy'])(scale, divergingPow()).exponent(scale.exponent());
                };
                return _init__WEBPACK_IMPORTED_MODULE_1__['initInterpolator'].apply(scale, arguments);
            }
            function divergingSqrt() {
                return divergingPow.apply(null, arguments).exponent(0.5);
            }
        },
        './node_modules/d3-scale/src/identity.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return identity;
            });
            var _array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale/src/array.js');
            var _linear__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale/src/linear.js');
            var _number__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-scale/src/number.js');
            function identity(domain) {
                var unknown;
                function scale(x) {
                    return isNaN(x = +x) ? unknown : 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.unknown = function (_) {
                    return arguments.length ? (unknown = _, scale) : unknown;
                };
                scale.copy = function () {
                    return identity(domain).unknown(unknown);
                };
                domain = arguments.length ? _array__WEBPACK_IMPORTED_MODULE_0__['map'].call(domain, _number__WEBPACK_IMPORTED_MODULE_2__['default']) : [
                    0,
                    1
                ];
                return Object(_linear__WEBPACK_IMPORTED_MODULE_1__['linearish'])(scale);
            }
        },
        './node_modules/d3-scale/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _band__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale/src/band.js');
            __webpack_require__.d(__webpack_exports__, 'scaleBand', function () {
                return _band__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'scalePoint', function () {
                return _band__WEBPACK_IMPORTED_MODULE_0__['point'];
            });
            var _identity__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale/src/identity.js');
            __webpack_require__.d(__webpack_exports__, 'scaleIdentity', function () {
                return _identity__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _linear__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-scale/src/linear.js');
            __webpack_require__.d(__webpack_exports__, 'scaleLinear', function () {
                return _linear__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            var _log__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-scale/src/log.js');
            __webpack_require__.d(__webpack_exports__, 'scaleLog', function () {
                return _log__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
            var _symlog__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-scale/src/symlog.js');
            __webpack_require__.d(__webpack_exports__, 'scaleSymlog', function () {
                return _symlog__WEBPACK_IMPORTED_MODULE_4__['default'];
            });
            var _ordinal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-scale/src/ordinal.js');
            __webpack_require__.d(__webpack_exports__, 'scaleOrdinal', function () {
                return _ordinal__WEBPACK_IMPORTED_MODULE_5__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleImplicit', function () {
                return _ordinal__WEBPACK_IMPORTED_MODULE_5__['implicit'];
            });
            var _pow__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-scale/src/pow.js');
            __webpack_require__.d(__webpack_exports__, 'scalePow', function () {
                return _pow__WEBPACK_IMPORTED_MODULE_6__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleSqrt', function () {
                return _pow__WEBPACK_IMPORTED_MODULE_6__['sqrt'];
            });
            var _quantile__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-scale/src/quantile.js');
            __webpack_require__.d(__webpack_exports__, 'scaleQuantile', function () {
                return _quantile__WEBPACK_IMPORTED_MODULE_7__['default'];
            });
            var _quantize__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-scale/src/quantize.js');
            __webpack_require__.d(__webpack_exports__, 'scaleQuantize', function () {
                return _quantize__WEBPACK_IMPORTED_MODULE_8__['default'];
            });
            var _threshold__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__('./node_modules/d3-scale/src/threshold.js');
            __webpack_require__.d(__webpack_exports__, 'scaleThreshold', function () {
                return _threshold__WEBPACK_IMPORTED_MODULE_9__['default'];
            });
            var _time__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__('./node_modules/d3-scale/src/time.js');
            __webpack_require__.d(__webpack_exports__, 'scaleTime', function () {
                return _time__WEBPACK_IMPORTED_MODULE_10__['default'];
            });
            var _utcTime__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__('./node_modules/d3-scale/src/utcTime.js');
            __webpack_require__.d(__webpack_exports__, 'scaleUtc', function () {
                return _utcTime__WEBPACK_IMPORTED_MODULE_11__['default'];
            });
            var _sequential__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__('./node_modules/d3-scale/src/sequential.js');
            __webpack_require__.d(__webpack_exports__, 'scaleSequential', function () {
                return _sequential__WEBPACK_IMPORTED_MODULE_12__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleSequentialLog', function () {
                return _sequential__WEBPACK_IMPORTED_MODULE_12__['sequentialLog'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleSequentialPow', function () {
                return _sequential__WEBPACK_IMPORTED_MODULE_12__['sequentialPow'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleSequentialSqrt', function () {
                return _sequential__WEBPACK_IMPORTED_MODULE_12__['sequentialSqrt'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleSequentialSymlog', function () {
                return _sequential__WEBPACK_IMPORTED_MODULE_12__['sequentialSymlog'];
            });
            var _sequentialQuantile__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__('./node_modules/d3-scale/src/sequentialQuantile.js');
            __webpack_require__.d(__webpack_exports__, 'scaleSequentialQuantile', function () {
                return _sequentialQuantile__WEBPACK_IMPORTED_MODULE_13__['default'];
            });
            var _diverging__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__('./node_modules/d3-scale/src/diverging.js');
            __webpack_require__.d(__webpack_exports__, 'scaleDiverging', function () {
                return _diverging__WEBPACK_IMPORTED_MODULE_14__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleDivergingLog', function () {
                return _diverging__WEBPACK_IMPORTED_MODULE_14__['divergingLog'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleDivergingPow', function () {
                return _diverging__WEBPACK_IMPORTED_MODULE_14__['divergingPow'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleDivergingSqrt', function () {
                return _diverging__WEBPACK_IMPORTED_MODULE_14__['divergingSqrt'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleDivergingSymlog', function () {
                return _diverging__WEBPACK_IMPORTED_MODULE_14__['divergingSymlog'];
            });
            var _tickFormat__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__('./node_modules/d3-scale/src/tickFormat.js');
            __webpack_require__.d(__webpack_exports__, 'tickFormat', function () {
                return _tickFormat__WEBPACK_IMPORTED_MODULE_15__['default'];
            });
        },
        './node_modules/d3-scale/src/init.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'initRange', function () {
                return initRange;
            });
            __webpack_require__.d(__webpack_exports__, 'initInterpolator', function () {
                return initInterpolator;
            });
            function initRange(domain, range) {
                switch (arguments.length) {
                case 0:
                    break;
                case 1:
                    this.range(domain);
                    break;
                default:
                    this.range(range).domain(domain);
                    break;
                }
                return this;
            }
            function initInterpolator(domain, interpolator) {
                switch (arguments.length) {
                case 0:
                    break;
                case 1:
                    this.interpolator(domain);
                    break;
                default:
                    this.interpolator(interpolator).domain(domain);
                    break;
                }
                return this;
            }
        },
        './node_modules/d3-scale/src/linear.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'linearish', function () {
                return linearish;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return linear;
            });
            var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            var _continuous__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale/src/continuous.js');
            var _init__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-scale/src/init.js');
            var _tickFormat__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-scale/src/tickFormat.js');
            function linearish(scale) {
                var domain = scale.domain;
                scale.ticks = function (count) {
                    var d = domain();
                    return Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['ticks'])(d[0], d[d.length - 1], count == null ? 10 : count);
                };
                scale.tickFormat = function (count, specifier) {
                    var d = domain();
                    return Object(_tickFormat__WEBPACK_IMPORTED_MODULE_3__['default'])(d[0], d[d.length - 1], count == null ? 10 : 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 = Object(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 = Object(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 = Object(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 = Object(_continuous__WEBPACK_IMPORTED_MODULE_1__['default'])(_continuous__WEBPACK_IMPORTED_MODULE_1__['identity'], _continuous__WEBPACK_IMPORTED_MODULE_1__['identity']);
                scale.copy = function () {
                    return Object(_continuous__WEBPACK_IMPORTED_MODULE_1__['copy'])(scale, linear());
                };
                _init__WEBPACK_IMPORTED_MODULE_2__['initRange'].apply(scale, arguments);
                return linearish(scale);
            }
        },
        './node_modules/d3-scale/src/log.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'loggish', function () {
                return loggish;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return log;
            });
            var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            var d3_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-format/src/index.js');
            var _nice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-scale/src/nice.js');
            var _continuous__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-scale/src/continuous.js');
            var _init__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-scale/src/init.js');
            function transformLog(x) {
                return Math.log(x);
            }
            function transformExp(x) {
                return Math.exp(x);
            }
            function transformLogn(x) {
                return -Math.log(-x);
            }
            function transformExpn(x) {
                return -Math.exp(-x);
            }
            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 loggish(transform) {
                var scale = transform(transformLog, transformExp), domain = scale.domain, base = 10, logs, pows;
                function rescale() {
                    logs = logp(base), pows = powp(base);
                    if (domain()[0] < 0) {
                        logs = reflect(logs), pows = reflect(pows);
                        transform(transformLogn, transformExpn);
                    } else {
                        transform(transformLog, transformExp);
                    }
                    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 = Object(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 = Object(d3_format__WEBPACK_IMPORTED_MODULE_1__['format'])(specifier);
                    if (count === Infinity)
                        return specifier;
                    if (count == null)
                        count = 10;
                    var k = Math.max(1, base * count / scale.ticks().length);
                    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(Object(_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)));
                        }
                    }));
                };
                return scale;
            }
            function log() {
                var scale = loggish(Object(_continuous__WEBPACK_IMPORTED_MODULE_3__['transformer'])()).domain([
                    1,
                    10
                ]);
                scale.copy = function () {
                    return Object(_continuous__WEBPACK_IMPORTED_MODULE_3__['copy'])(scale, log()).base(scale.base());
                };
                _init__WEBPACK_IMPORTED_MODULE_4__['initRange'].apply(scale, arguments);
                return scale;
            }
        },
        './node_modules/d3-scale/src/nice.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return +x;
            };
        },
        './node_modules/d3-scale/src/ordinal.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'implicit', function () {
                return implicit;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return ordinal;
            });
            var d3_collection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-collection/src/index.js');
            var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale/src/array.js');
            var _init__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-scale/src/init.js');
            var implicit = { name: 'implicit' };
            function ordinal() {
                var index = Object(d3_collection__WEBPACK_IMPORTED_MODULE_0__['map'])(), domain = [], range = [], unknown = implicit;
                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 = Object(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, range).unknown(unknown);
                };
                _init__WEBPACK_IMPORTED_MODULE_2__['initRange'].apply(scale, arguments);
                return scale;
            }
        },
        './node_modules/d3-scale/src/pow.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'powish', function () {
                return powish;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return pow;
            });
            __webpack_require__.d(__webpack_exports__, 'sqrt', function () {
                return sqrt;
            });
            var _linear__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale/src/linear.js');
            var _continuous__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale/src/continuous.js');
            var _init__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-scale/src/init.js');
            function transformPow(exponent) {
                return function (x) {
                    return x < 0 ? -Math.pow(-x, exponent) : Math.pow(x, exponent);
                };
            }
            function transformSqrt(x) {
                return x < 0 ? -Math.sqrt(-x) : Math.sqrt(x);
            }
            function transformSquare(x) {
                return x < 0 ? -x * x : x * x;
            }
            function powish(transform) {
                var scale = transform(_continuous__WEBPACK_IMPORTED_MODULE_1__['identity'], _continuous__WEBPACK_IMPORTED_MODULE_1__['identity']), exponent = 1;
                function rescale() {
                    return exponent === 1 ? transform(_continuous__WEBPACK_IMPORTED_MODULE_1__['identity'], _continuous__WEBPACK_IMPORTED_MODULE_1__['identity']) : exponent === 0.5 ? transform(transformSqrt, transformSquare) : transform(transformPow(exponent), transformPow(1 / exponent));
                }
                scale.exponent = function (_) {
                    return arguments.length ? (exponent = +_, rescale()) : exponent;
                };
                return Object(_linear__WEBPACK_IMPORTED_MODULE_0__['linearish'])(scale);
            }
            function pow() {
                var scale = powish(Object(_continuous__WEBPACK_IMPORTED_MODULE_1__['transformer'])());
                scale.copy = function () {
                    return Object(_continuous__WEBPACK_IMPORTED_MODULE_1__['copy'])(scale, pow()).exponent(scale.exponent());
                };
                _init__WEBPACK_IMPORTED_MODULE_2__['initRange'].apply(scale, arguments);
                return scale;
            }
            function sqrt() {
                return pow.apply(null, arguments).exponent(0.5);
            }
        },
        './node_modules/d3-scale/src/quantile.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return quantile;
            });
            var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale/src/array.js');
            var _init__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-scale/src/init.js');
            function quantile() {
                var domain = [], range = [], thresholds = [], unknown;
                function rescale() {
                    var i = 0, n = Math.max(1, range.length);
                    thresholds = new Array(n - 1);
                    while (++i < n)
                        thresholds[i - 1] = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['quantile'])(domain, i / n);
                    return scale;
                }
                function scale(x) {
                    return isNaN(x = +x) ? unknown : range[Object(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.unknown = function (_) {
                    return arguments.length ? (unknown = _, scale) : unknown;
                };
                scale.quantiles = function () {
                    return thresholds.slice();
                };
                scale.copy = function () {
                    return quantile().domain(domain).range(range).unknown(unknown);
                };
                return _init__WEBPACK_IMPORTED_MODULE_2__['initRange'].apply(scale, arguments);
            }
        },
        './node_modules/d3-scale/src/quantize.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return quantize;
            });
            var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale/src/array.js');
            var _linear__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-scale/src/linear.js');
            var _init__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-scale/src/init.js');
            function quantize() {
                var x0 = 0, x1 = 1, n = 1, domain = [0.5], range = [
                        0,
                        1
                    ], unknown;
                function scale(x) {
                    return x <= x ? range[Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['bisect'])(domain, x, 0, n)] : unknown;
                }
                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.unknown = function (_) {
                    return arguments.length ? (unknown = _, scale) : scale;
                };
                scale.thresholds = function () {
                    return domain.slice();
                };
                scale.copy = function () {
                    return quantize().domain([
                        x0,
                        x1
                    ]).range(range).unknown(unknown);
                };
                return _init__WEBPACK_IMPORTED_MODULE_3__['initRange'].apply(Object(_linear__WEBPACK_IMPORTED_MODULE_2__['linearish'])(scale), arguments);
            }
        },
        './node_modules/d3-scale/src/sequential.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'copy', function () {
                return copy;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return sequential;
            });
            __webpack_require__.d(__webpack_exports__, 'sequentialLog', function () {
                return sequentialLog;
            });
            __webpack_require__.d(__webpack_exports__, 'sequentialSymlog', function () {
                return sequentialSymlog;
            });
            __webpack_require__.d(__webpack_exports__, 'sequentialPow', function () {
                return sequentialPow;
            });
            __webpack_require__.d(__webpack_exports__, 'sequentialSqrt', function () {
                return sequentialSqrt;
            });
            var _continuous__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale/src/continuous.js');
            var _init__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale/src/init.js');
            var _linear__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-scale/src/linear.js');
            var _log__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-scale/src/log.js');
            var _symlog__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-scale/src/symlog.js');
            var _pow__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-scale/src/pow.js');
            function transformer() {
                var x0 = 0, x1 = 1, t0, t1, k10, transform, interpolator = _continuous__WEBPACK_IMPORTED_MODULE_0__['identity'], clamp = false, unknown;
                function scale(x) {
                    return isNaN(x = +x) ? unknown : interpolator(k10 === 0 ? 0.5 : (x = (transform(x) - t0) * k10, clamp ? Math.max(0, Math.min(1, x)) : x));
                }
                scale.domain = function (_) {
                    return arguments.length ? (t0 = transform(x0 = +_[0]), t1 = transform(x1 = +_[1]), k10 = t0 === t1 ? 0 : 1 / (t1 - t0), scale) : [
                        x0,
                        x1
                    ];
                };
                scale.clamp = function (_) {
                    return arguments.length ? (clamp = !!_, scale) : clamp;
                };
                scale.interpolator = function (_) {
                    return arguments.length ? (interpolator = _, scale) : interpolator;
                };
                scale.unknown = function (_) {
                    return arguments.length ? (unknown = _, scale) : unknown;
                };
                return function (t) {
                    transform = t, t0 = t(x0), t1 = t(x1), k10 = t0 === t1 ? 0 : 1 / (t1 - t0);
                    return scale;
                };
            }
            function copy(source, target) {
                return target.domain(source.domain()).interpolator(source.interpolator()).clamp(source.clamp()).unknown(source.unknown());
            }
            function sequential() {
                var scale = Object(_linear__WEBPACK_IMPORTED_MODULE_2__['linearish'])(transformer()(_continuous__WEBPACK_IMPORTED_MODULE_0__['identity']));
                scale.copy = function () {
                    return copy(scale, sequential());
                };
                return _init__WEBPACK_IMPORTED_MODULE_1__['initInterpolator'].apply(scale, arguments);
            }
            function sequentialLog() {
                var scale = Object(_log__WEBPACK_IMPORTED_MODULE_3__['loggish'])(transformer()).domain([
                    1,
                    10
                ]);
                scale.copy = function () {
                    return copy(scale, sequentialLog()).base(scale.base());
                };
                return _init__WEBPACK_IMPORTED_MODULE_1__['initInterpolator'].apply(scale, arguments);
            }
            function sequentialSymlog() {
                var scale = Object(_symlog__WEBPACK_IMPORTED_MODULE_4__['symlogish'])(transformer());
                scale.copy = function () {
                    return copy(scale, sequentialSymlog()).constant(scale.constant());
                };
                return _init__WEBPACK_IMPORTED_MODULE_1__['initInterpolator'].apply(scale, arguments);
            }
            function sequentialPow() {
                var scale = Object(_pow__WEBPACK_IMPORTED_MODULE_5__['powish'])(transformer());
                scale.copy = function () {
                    return copy(scale, sequentialPow()).exponent(scale.exponent());
                };
                return _init__WEBPACK_IMPORTED_MODULE_1__['initInterpolator'].apply(scale, arguments);
            }
            function sequentialSqrt() {
                return sequentialPow.apply(null, arguments).exponent(0.5);
            }
        },
        './node_modules/d3-scale/src/sequentialQuantile.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return sequentialQuantile;
            });
            var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            var _continuous__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale/src/continuous.js');
            var _init__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-scale/src/init.js');
            function sequentialQuantile() {
                var domain = [], interpolator = _continuous__WEBPACK_IMPORTED_MODULE_1__['identity'];
                function scale(x) {
                    if (!isNaN(x = +x))
                        return interpolator((Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['bisect'])(domain, x) - 1) / (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 scale;
                };
                scale.interpolator = function (_) {
                    return arguments.length ? (interpolator = _, scale) : interpolator;
                };
                scale.copy = function () {
                    return sequentialQuantile(interpolator).domain(domain);
                };
                return _init__WEBPACK_IMPORTED_MODULE_2__['initInterpolator'].apply(scale, arguments);
            }
        },
        './node_modules/d3-scale/src/symlog.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'symlogish', function () {
                return symlogish;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return symlog;
            });
            var _linear__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale/src/linear.js');
            var _continuous__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale/src/continuous.js');
            var _init__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-scale/src/init.js');
            function transformSymlog(c) {
                return function (x) {
                    return Math.sign(x) * Math.log1p(Math.abs(x / c));
                };
            }
            function transformSymexp(c) {
                return function (x) {
                    return Math.sign(x) * Math.expm1(Math.abs(x)) * c;
                };
            }
            function symlogish(transform) {
                var c = 1, scale = transform(transformSymlog(c), transformSymexp(c));
                scale.constant = function (_) {
                    return arguments.length ? transform(transformSymlog(c = +_), transformSymexp(c)) : c;
                };
                return Object(_linear__WEBPACK_IMPORTED_MODULE_0__['linearish'])(scale);
            }
            function symlog() {
                var scale = symlogish(Object(_continuous__WEBPACK_IMPORTED_MODULE_1__['transformer'])());
                scale.copy = function () {
                    return Object(_continuous__WEBPACK_IMPORTED_MODULE_1__['copy'])(scale, symlog()).constant(scale.constant());
                };
                return _init__WEBPACK_IMPORTED_MODULE_2__['initRange'].apply(scale, arguments);
            }
        },
        './node_modules/d3-scale/src/threshold.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return threshold;
            });
            var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            var _array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-scale/src/array.js');
            var _init__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-scale/src/init.js');
            function threshold() {
                var domain = [0.5], range = [
                        0,
                        1
                    ], unknown, n = 1;
                function scale(x) {
                    return x <= x ? range[Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['bisect'])(domain, x, 0, n)] : unknown;
                }
                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.unknown = function (_) {
                    return arguments.length ? (unknown = _, scale) : unknown;
                };
                scale.copy = function () {
                    return threshold().domain(domain).range(range).unknown(unknown);
                };
                return _init__WEBPACK_IMPORTED_MODULE_2__['initRange'].apply(scale, arguments);
            }
        },
        './node_modules/d3-scale/src/tickFormat.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            var d3_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-format/src/index.js');
            __webpack_exports__['default'] = function (start, stop, count, specifier) {
                var step = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['tickStep'])(start, stop, count), precision;
                specifier = Object(d3_format__WEBPACK_IMPORTED_MODULE_1__['formatSpecifier'])(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 = Object(d3_format__WEBPACK_IMPORTED_MODULE_1__['precisionPrefix'])(step, value)))
                            specifier.precision = precision;
                        return Object(d3_format__WEBPACK_IMPORTED_MODULE_1__['formatPrefix'])(specifier, value);
                    }
                case '':
                case 'e':
                case 'g':
                case 'p':
                case 'r': {
                        if (specifier.precision == null && !isNaN(precision = Object(d3_format__WEBPACK_IMPORTED_MODULE_1__['precisionRound'])(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 = Object(d3_format__WEBPACK_IMPORTED_MODULE_1__['precisionFixed'])(step)))
                            specifier.precision = precision - (specifier.type === '%') * 2;
                        break;
                    }
                }
                return Object(d3_format__WEBPACK_IMPORTED_MODULE_1__['format'])(specifier);
            };
        },
        './node_modules/d3-scale/src/time.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'calendar', function () {
                return calendar;
            });
            var d3_array__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            var d3_time__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-time/src/index.js');
            var d3_time_format__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-time-format/src/index.js');
            var _array__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-scale/src/array.js');
            var _continuous__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-scale/src/continuous.js');
            var _init__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-scale/src/init.js');
            var _nice__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./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 = Object(_continuous__WEBPACK_IMPORTED_MODULE_4__['default'])(_continuous__WEBPACK_IMPORTED_MODULE_4__['identity'], _continuous__WEBPACK_IMPORTED_MODULE_4__['identity']), 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 (typeof interval === 'number') {
                        var target = Math.abs(stop - start) / interval, i = Object(d3_array__WEBPACK_IMPORTED_MODULE_0__['bisector'])(function (i) {
                                return i[2];
                            }).right(tickIntervals, target);
                        if (i === tickIntervals.length) {
                            step = Object(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(Object(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_3__['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) : [];
                    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(Object(_nice__WEBPACK_IMPORTED_MODULE_6__['default'])(d, interval)) : scale;
                };
                scale.copy = function () {
                    return Object(_continuous__WEBPACK_IMPORTED_MODULE_4__['copy'])(scale, calendar(year, month, week, day, hour, minute, second, millisecond, format));
                };
                return scale;
            }
            __webpack_exports__['default'] = function () {
                return _init__WEBPACK_IMPORTED_MODULE_5__['initRange'].apply(calendar(d3_time__WEBPACK_IMPORTED_MODULE_1__['timeYear'], d3_time__WEBPACK_IMPORTED_MODULE_1__['timeMonth'], d3_time__WEBPACK_IMPORTED_MODULE_1__['timeWeek'], d3_time__WEBPACK_IMPORTED_MODULE_1__['timeDay'], d3_time__WEBPACK_IMPORTED_MODULE_1__['timeHour'], d3_time__WEBPACK_IMPORTED_MODULE_1__['timeMinute'], d3_time__WEBPACK_IMPORTED_MODULE_1__['timeSecond'], d3_time__WEBPACK_IMPORTED_MODULE_1__['timeMillisecond'], d3_time_format__WEBPACK_IMPORTED_MODULE_2__['timeFormat']).domain([
                    new Date(2000, 0, 1),
                    new Date(2000, 0, 2)
                ]), arguments);
            };
        },
        './node_modules/d3-scale/src/utcTime.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _time__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-scale/src/time.js');
            var d3_time_format__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-time-format/src/index.js');
            var d3_time__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-time/src/index.js');
            var _init__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-scale/src/init.js');
            __webpack_exports__['default'] = function () {
                return _init__WEBPACK_IMPORTED_MODULE_3__['initRange'].apply(Object(_time__WEBPACK_IMPORTED_MODULE_0__['calendar'])(d3_time__WEBPACK_IMPORTED_MODULE_2__['utcYear'], d3_time__WEBPACK_IMPORTED_MODULE_2__['utcMonth'], d3_time__WEBPACK_IMPORTED_MODULE_2__['utcWeek'], d3_time__WEBPACK_IMPORTED_MODULE_2__['utcDay'], d3_time__WEBPACK_IMPORTED_MODULE_2__['utcHour'], d3_time__WEBPACK_IMPORTED_MODULE_2__['utcMinute'], d3_time__WEBPACK_IMPORTED_MODULE_2__['utcSecond'], d3_time__WEBPACK_IMPORTED_MODULE_2__['utcMillisecond'], d3_time_format__WEBPACK_IMPORTED_MODULE_1__['utcFormat']).domain([
                    Date.UTC(2000, 0, 1),
                    Date.UTC(2000, 0, 2)
                ]), arguments);
            };
        },
        './node_modules/d3-selection/src/constant.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return function () {
                    return x;
                };
            };
        },
        './node_modules/d3-selection/src/create.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _creator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/creator.js');
            var _select__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/select.js');
            __webpack_exports__['default'] = function (name) {
                return Object(_select__WEBPACK_IMPORTED_MODULE_1__['default'])(Object(_creator__WEBPACK_IMPORTED_MODULE_0__['default'])(name).call(document.documentElement));
            };
        },
        './node_modules/d3-selection/src/creator.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _namespace__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/namespace.js');
            var _namespaces__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/namespaces.js');
            function creatorInherit(name) {
                return function () {
                    var document = this.ownerDocument, uri = this.namespaceURI;
                    return uri === _namespaces__WEBPACK_IMPORTED_MODULE_1__['xhtml'] && document.documentElement.namespaceURI === _namespaces__WEBPACK_IMPORTED_MODULE_1__['xhtml'] ? document.createElement(name) : document.createElementNS(uri, name);
                };
            }
            function creatorFixed(fullname) {
                return function () {
                    return this.ownerDocument.createElementNS(fullname.space, fullname.local);
                };
            }
            __webpack_exports__['default'] = function (name) {
                var fullname = Object(_namespace__WEBPACK_IMPORTED_MODULE_0__['default'])(name);
                return (fullname.local ? creatorFixed : creatorInherit)(fullname);
            };
        },
        './node_modules/d3-selection/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _create__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/create.js');
            __webpack_require__.d(__webpack_exports__, 'create', function () {
                return _create__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _creator__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/creator.js');
            __webpack_require__.d(__webpack_exports__, 'creator', function () {
                return _creator__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _local__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-selection/src/local.js');
            __webpack_require__.d(__webpack_exports__, 'local', function () {
                return _local__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            var _matcher__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-selection/src/matcher.js');
            __webpack_require__.d(__webpack_exports__, 'matcher', function () {
                return _matcher__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
            var _mouse__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-selection/src/mouse.js');
            __webpack_require__.d(__webpack_exports__, 'mouse', function () {
                return _mouse__WEBPACK_IMPORTED_MODULE_4__['default'];
            });
            var _namespace__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-selection/src/namespace.js');
            __webpack_require__.d(__webpack_exports__, 'namespace', function () {
                return _namespace__WEBPACK_IMPORTED_MODULE_5__['default'];
            });
            var _namespaces__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-selection/src/namespaces.js');
            __webpack_require__.d(__webpack_exports__, 'namespaces', function () {
                return _namespaces__WEBPACK_IMPORTED_MODULE_6__['default'];
            });
            var _point__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-selection/src/point.js');
            __webpack_require__.d(__webpack_exports__, 'clientPoint', function () {
                return _point__WEBPACK_IMPORTED_MODULE_7__['default'];
            });
            var _select__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-selection/src/select.js');
            __webpack_require__.d(__webpack_exports__, 'select', function () {
                return _select__WEBPACK_IMPORTED_MODULE_8__['default'];
            });
            var _selectAll__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__('./node_modules/d3-selection/src/selectAll.js');
            __webpack_require__.d(__webpack_exports__, 'selectAll', function () {
                return _selectAll__WEBPACK_IMPORTED_MODULE_9__['default'];
            });
            var _selection_index__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__('./node_modules/d3-selection/src/selection/index.js');
            __webpack_require__.d(__webpack_exports__, 'selection', function () {
                return _selection_index__WEBPACK_IMPORTED_MODULE_10__['default'];
            });
            var _selector__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__('./node_modules/d3-selection/src/selector.js');
            __webpack_require__.d(__webpack_exports__, 'selector', function () {
                return _selector__WEBPACK_IMPORTED_MODULE_11__['default'];
            });
            var _selectorAll__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__('./node_modules/d3-selection/src/selectorAll.js');
            __webpack_require__.d(__webpack_exports__, 'selectorAll', function () {
                return _selectorAll__WEBPACK_IMPORTED_MODULE_12__['default'];
            });
            var _selection_style__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__('./node_modules/d3-selection/src/selection/style.js');
            __webpack_require__.d(__webpack_exports__, 'style', function () {
                return _selection_style__WEBPACK_IMPORTED_MODULE_13__['styleValue'];
            });
            var _touch__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__('./node_modules/d3-selection/src/touch.js');
            __webpack_require__.d(__webpack_exports__, 'touch', function () {
                return _touch__WEBPACK_IMPORTED_MODULE_14__['default'];
            });
            var _touches__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__('./node_modules/d3-selection/src/touches.js');
            __webpack_require__.d(__webpack_exports__, 'touches', function () {
                return _touches__WEBPACK_IMPORTED_MODULE_15__['default'];
            });
            var _window__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__('./node_modules/d3-selection/src/window.js');
            __webpack_require__.d(__webpack_exports__, 'window', function () {
                return _window__WEBPACK_IMPORTED_MODULE_16__['default'];
            });
            var _selection_on__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__('./node_modules/d3-selection/src/selection/on.js');
            __webpack_require__.d(__webpack_exports__, 'event', function () {
                return _selection_on__WEBPACK_IMPORTED_MODULE_17__['event'];
            });
            __webpack_require__.d(__webpack_exports__, 'customEvent', function () {
                return _selection_on__WEBPACK_IMPORTED_MODULE_17__['customEvent'];
            });
        },
        './node_modules/d3-selection/src/local.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return local;
            });
            var nextId = 0;
            function local() {
                return new Local();
            }
            function Local() {
                this._ = '@' + (++nextId).toString(36);
            }
            Local.prototype = local.prototype = {
                constructor: Local,
                get: function (node) {
                    var id = this._;
                    while (!(id in node))
                        if (!(node = node.parentNode))
                            return;
                    return node[id];
                },
                set: function (node, value) {
                    return node[this._] = value;
                },
                remove: function (node) {
                    return this._ in node && delete node[this._];
                },
                toString: function () {
                    return this._;
                }
            };
        },
        './node_modules/d3-selection/src/matcher.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (selector) {
                return function () {
                    return this.matches(selector);
                };
            };
        },
        './node_modules/d3-selection/src/mouse.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _sourceEvent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/sourceEvent.js');
            var _point__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/point.js');
            __webpack_exports__['default'] = function (node) {
                var event = Object(_sourceEvent__WEBPACK_IMPORTED_MODULE_0__['default'])();
                if (event.changedTouches)
                    event = event.changedTouches[0];
                return Object(_point__WEBPACK_IMPORTED_MODULE_1__['default'])(node, event);
            };
        },
        './node_modules/d3-selection/src/namespace.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _namespaces__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/namespaces.js');
            __webpack_exports__['default'] = function (name) {
                var prefix = name += '', i = prefix.indexOf(':');
                if (i >= 0 && (prefix = name.slice(0, i)) !== 'xmlns')
                    name = name.slice(i + 1);
                return _namespaces__WEBPACK_IMPORTED_MODULE_0__['default'].hasOwnProperty(prefix) ? {
                    space: _namespaces__WEBPACK_IMPORTED_MODULE_0__['default'][prefix],
                    local: name
                } : name;
            };
        },
        './node_modules/d3-selection/src/namespaces.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'xhtml', function () {
                return xhtml;
            });
            var xhtml = 'http://www.w3.org/1999/xhtml';
            __webpack_exports__['default'] = {
                svg: 'http://www.w3.org/2000/svg',
                xhtml: xhtml,
                xlink: 'http://www.w3.org/1999/xlink',
                xml: 'http://www.w3.org/XML/1998/namespace',
                xmlns: 'http://www.w3.org/2000/xmlns/'
            };
        },
        './node_modules/d3-selection/src/point.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (node, event) {
                var svg = node.ownerSVGElement || node;
                if (svg.createSVGPoint) {
                    var point = svg.createSVGPoint();
                    point.x = event.clientX, point.y = event.clientY;
                    point = point.matrixTransform(node.getScreenCTM().inverse());
                    return [
                        point.x,
                        point.y
                    ];
                }
                var rect = node.getBoundingClientRect();
                return [
                    event.clientX - rect.left - node.clientLeft,
                    event.clientY - rect.top - node.clientTop
                ];
            };
        },
        './node_modules/d3-selection/src/select.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _selection_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/selection/index.js');
            __webpack_exports__['default'] = function (selector) {
                return typeof selector === 'string' ? new _selection_index__WEBPACK_IMPORTED_MODULE_0__['Selection']([[document.querySelector(selector)]], [document.documentElement]) : new _selection_index__WEBPACK_IMPORTED_MODULE_0__['Selection']([[selector]], _selection_index__WEBPACK_IMPORTED_MODULE_0__['root']);
            };
        },
        './node_modules/d3-selection/src/selectAll.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _selection_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/selection/index.js');
            __webpack_exports__['default'] = function (selector) {
                return typeof selector === 'string' ? new _selection_index__WEBPACK_IMPORTED_MODULE_0__['Selection']([document.querySelectorAll(selector)], [document.documentElement]) : new _selection_index__WEBPACK_IMPORTED_MODULE_0__['Selection']([selector == null ? [] : selector], _selection_index__WEBPACK_IMPORTED_MODULE_0__['root']);
            };
        },
        './node_modules/d3-selection/src/selection/append.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _creator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/creator.js');
            __webpack_exports__['default'] = function (name) {
                var create = typeof name === 'function' ? name : Object(_creator__WEBPACK_IMPORTED_MODULE_0__['default'])(name);
                return this.select(function () {
                    return this.appendChild(create.apply(this, arguments));
                });
            };
        },
        './node_modules/d3-selection/src/selection/attr.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _namespace__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/namespace.js');
            function attrRemove(name) {
                return function () {
                    this.removeAttribute(name);
                };
            }
            function attrRemoveNS(fullname) {
                return function () {
                    this.removeAttributeNS(fullname.space, fullname.local);
                };
            }
            function attrConstant(name, value) {
                return function () {
                    this.setAttribute(name, value);
                };
            }
            function attrConstantNS(fullname, value) {
                return function () {
                    this.setAttributeNS(fullname.space, fullname.local, value);
                };
            }
            function attrFunction(name, value) {
                return function () {
                    var v = value.apply(this, arguments);
                    if (v == null)
                        this.removeAttribute(name);
                    else
                        this.setAttribute(name, v);
                };
            }
            function attrFunctionNS(fullname, value) {
                return function () {
                    var v = value.apply(this, arguments);
                    if (v == null)
                        this.removeAttributeNS(fullname.space, fullname.local);
                    else
                        this.setAttributeNS(fullname.space, fullname.local, v);
                };
            }
            __webpack_exports__['default'] = function (name, value) {
                var fullname = Object(_namespace__WEBPACK_IMPORTED_MODULE_0__['default'])(name);
                if (arguments.length < 2) {
                    var node = this.node();
                    return fullname.local ? node.getAttributeNS(fullname.space, fullname.local) : node.getAttribute(fullname);
                }
                return this.each((value == null ? fullname.local ? attrRemoveNS : attrRemove : typeof value === 'function' ? fullname.local ? attrFunctionNS : attrFunction : fullname.local ? attrConstantNS : attrConstant)(fullname, value));
            };
        },
        './node_modules/d3-selection/src/selection/call.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
                var callback = arguments[0];
                arguments[0] = this;
                callback.apply(null, arguments);
                return this;
            };
        },
        './node_modules/d3-selection/src/selection/classed.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function classArray(string) {
                return string.trim().split(/^|\s+/);
            }
            function classList(node) {
                return node.classList || new ClassList(node);
            }
            function ClassList(node) {
                this._node = node;
                this._names = classArray(node.getAttribute('class') || '');
            }
            ClassList.prototype = {
                add: function (name) {
                    var i = this._names.indexOf(name);
                    if (i < 0) {
                        this._names.push(name);
                        this._node.setAttribute('class', this._names.join(' '));
                    }
                },
                remove: function (name) {
                    var i = this._names.indexOf(name);
                    if (i >= 0) {
                        this._names.splice(i, 1);
                        this._node.setAttribute('class', this._names.join(' '));
                    }
                },
                contains: function (name) {
                    return this._names.indexOf(name) >= 0;
                }
            };
            function classedAdd(node, names) {
                var list = classList(node), i = -1, n = names.length;
                while (++i < n)
                    list.add(names[i]);
            }
            function classedRemove(node, names) {
                var list = classList(node), i = -1, n = names.length;
                while (++i < n)
                    list.remove(names[i]);
            }
            function classedTrue(names) {
                return function () {
                    classedAdd(this, names);
                };
            }
            function classedFalse(names) {
                return function () {
                    classedRemove(this, names);
                };
            }
            function classedFunction(names, value) {
                return function () {
                    (value.apply(this, arguments) ? classedAdd : classedRemove)(this, names);
                };
            }
            __webpack_exports__['default'] = function (name, value) {
                var names = classArray(name + '');
                if (arguments.length < 2) {
                    var list = classList(this.node()), i = -1, n = names.length;
                    while (++i < n)
                        if (!list.contains(names[i]))
                            return false;
                    return true;
                }
                return this.each((typeof value === 'function' ? classedFunction : value ? classedTrue : classedFalse)(names, value));
            };
        },
        './node_modules/d3-selection/src/selection/clone.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function selection_cloneShallow() {
                var clone = this.cloneNode(false), parent = this.parentNode;
                return parent ? parent.insertBefore(clone, this.nextSibling) : clone;
            }
            function selection_cloneDeep() {
                var clone = this.cloneNode(true), parent = this.parentNode;
                return parent ? parent.insertBefore(clone, this.nextSibling) : clone;
            }
            __webpack_exports__['default'] = function (deep) {
                return this.select(deep ? selection_cloneDeep : selection_cloneShallow);
            };
        },
        './node_modules/d3-selection/src/selection/data.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/selection/index.js');
            var _enter__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/selection/enter.js');
            var _constant__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-selection/src/constant.js');
            var keyPrefix = '$';
            function bindIndex(parent, group, enter, update, exit, data) {
                var i = 0, node, groupLength = group.length, dataLength = data.length;
                for (; i < dataLength; ++i) {
                    if (node = group[i]) {
                        node.__data__ = data[i];
                        update[i] = node;
                    } else {
                        enter[i] = new _enter__WEBPACK_IMPORTED_MODULE_1__['EnterNode'](parent, data[i]);
                    }
                }
                for (; i < groupLength; ++i) {
                    if (node = group[i]) {
                        exit[i] = node;
                    }
                }
            }
            function bindKey(parent, group, enter, update, exit, data, key) {
                var i, node, nodeByKeyValue = {}, groupLength = group.length, dataLength = data.length, keyValues = new Array(groupLength), keyValue;
                for (i = 0; i < groupLength; ++i) {
                    if (node = group[i]) {
                        keyValues[i] = keyValue = keyPrefix + key.call(node, node.__data__, i, group);
                        if (keyValue in nodeByKeyValue) {
                            exit[i] = node;
                        } else {
                            nodeByKeyValue[keyValue] = node;
                        }
                    }
                }
                for (i = 0; i < dataLength; ++i) {
                    keyValue = keyPrefix + key.call(parent, data[i], i, data);
                    if (node = nodeByKeyValue[keyValue]) {
                        update[i] = node;
                        node.__data__ = data[i];
                        nodeByKeyValue[keyValue] = null;
                    } else {
                        enter[i] = new _enter__WEBPACK_IMPORTED_MODULE_1__['EnterNode'](parent, data[i]);
                    }
                }
                for (i = 0; i < groupLength; ++i) {
                    if ((node = group[i]) && nodeByKeyValue[keyValues[i]] === node) {
                        exit[i] = node;
                    }
                }
            }
            __webpack_exports__['default'] = function (value, key) {
                if (!value) {
                    data = new Array(this.size()), j = -1;
                    this.each(function (d) {
                        data[++j] = d;
                    });
                    return data;
                }
                var bind = key ? bindKey : bindIndex, parents = this._parents, groups = this._groups;
                if (typeof value !== 'function')
                    value = Object(_constant__WEBPACK_IMPORTED_MODULE_2__['default'])(value);
                for (var m = groups.length, update = new Array(m), enter = new Array(m), exit = new Array(m), j = 0; j < m; ++j) {
                    var parent = parents[j], group = groups[j], groupLength = group.length, data = value.call(parent, parent && parent.__data__, j, parents), dataLength = data.length, enterGroup = enter[j] = new Array(dataLength), updateGroup = update[j] = new Array(dataLength), exitGroup = exit[j] = new Array(groupLength);
                    bind(parent, group, enterGroup, updateGroup, exitGroup, data, key);
                    for (var i0 = 0, i1 = 0, previous, next; i0 < dataLength; ++i0) {
                        if (previous = enterGroup[i0]) {
                            if (i0 >= i1)
                                i1 = i0 + 1;
                            while (!(next = updateGroup[i1]) && ++i1 < dataLength);
                            previous._next = next || null;
                        }
                    }
                }
                update = new _index__WEBPACK_IMPORTED_MODULE_0__['Selection'](update, parents);
                update._enter = enter;
                update._exit = exit;
                return update;
            };
        },
        './node_modules/d3-selection/src/selection/datum.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (value) {
                return arguments.length ? this.property('__data__', value) : this.node().__data__;
            };
        },
        './node_modules/d3-selection/src/selection/dispatch.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/window.js');
            function dispatchEvent(node, type, params) {
                var window = Object(_window__WEBPACK_IMPORTED_MODULE_0__['default'])(node), event = window.CustomEvent;
                if (typeof event === 'function') {
                    event = new event(type, params);
                } else {
                    event = window.document.createEvent('Event');
                    if (params)
                        event.initEvent(type, params.bubbles, params.cancelable), event.detail = params.detail;
                    else
                        event.initEvent(type, false, false);
                }
                node.dispatchEvent(event);
            }
            function dispatchConstant(type, params) {
                return function () {
                    return dispatchEvent(this, type, params);
                };
            }
            function dispatchFunction(type, params) {
                return function () {
                    return dispatchEvent(this, type, params.apply(this, arguments));
                };
            }
            __webpack_exports__['default'] = function (type, params) {
                return this.each((typeof params === 'function' ? dispatchFunction : dispatchConstant)(type, params));
            };
        },
        './node_modules/d3-selection/src/selection/each.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (callback) {
                for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
                    for (var group = groups[j], i = 0, n = group.length, node; i < n; ++i) {
                        if (node = group[i])
                            callback.call(node, node.__data__, i, group);
                    }
                }
                return this;
            };
        },
        './node_modules/d3-selection/src/selection/empty.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
                return !this.node();
            };
        },
        './node_modules/d3-selection/src/selection/enter.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'EnterNode', function () {
                return EnterNode;
            });
            var _sparse__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/selection/sparse.js');
            var _index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/selection/index.js');
            __webpack_exports__['default'] = function () {
                return new _index__WEBPACK_IMPORTED_MODULE_1__['Selection'](this._enter || this._groups.map(_sparse__WEBPACK_IMPORTED_MODULE_0__['default']), this._parents);
            };
            function EnterNode(parent, datum) {
                this.ownerDocument = parent.ownerDocument;
                this.namespaceURI = parent.namespaceURI;
                this._next = null;
                this._parent = parent;
                this.__data__ = datum;
            }
            EnterNode.prototype = {
                constructor: EnterNode,
                appendChild: function (child) {
                    return this._parent.insertBefore(child, this._next);
                },
                insertBefore: function (child, next) {
                    return this._parent.insertBefore(child, next);
                },
                querySelector: function (selector) {
                    return this._parent.querySelector(selector);
                },
                querySelectorAll: function (selector) {
                    return this._parent.querySelectorAll(selector);
                }
            };
        },
        './node_modules/d3-selection/src/selection/exit.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _sparse__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/selection/sparse.js');
            var _index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/selection/index.js');
            __webpack_exports__['default'] = function () {
                return new _index__WEBPACK_IMPORTED_MODULE_1__['Selection'](this._exit || this._groups.map(_sparse__WEBPACK_IMPORTED_MODULE_0__['default']), this._parents);
            };
        },
        './node_modules/d3-selection/src/selection/filter.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/selection/index.js');
            var _matcher__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/matcher.js');
            __webpack_exports__['default'] = function (match) {
                if (typeof match !== 'function')
                    match = Object(_matcher__WEBPACK_IMPORTED_MODULE_1__['default'])(match);
                for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
                    for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
                        if ((node = group[i]) && match.call(node, node.__data__, i, group)) {
                            subgroup.push(node);
                        }
                    }
                }
                return new _index__WEBPACK_IMPORTED_MODULE_0__['Selection'](subgroups, this._parents);
            };
        },
        './node_modules/d3-selection/src/selection/html.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function htmlRemove() {
                this.innerHTML = '';
            }
            function htmlConstant(value) {
                return function () {
                    this.innerHTML = value;
                };
            }
            function htmlFunction(value) {
                return function () {
                    var v = value.apply(this, arguments);
                    this.innerHTML = v == null ? '' : v;
                };
            }
            __webpack_exports__['default'] = function (value) {
                return arguments.length ? this.each(value == null ? htmlRemove : (typeof value === 'function' ? htmlFunction : htmlConstant)(value)) : this.node().innerHTML;
            };
        },
        './node_modules/d3-selection/src/selection/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'root', function () {
                return root;
            });
            __webpack_require__.d(__webpack_exports__, 'Selection', function () {
                return Selection;
            });
            var _select__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/selection/select.js');
            var _selectAll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/selection/selectAll.js');
            var _filter__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-selection/src/selection/filter.js');
            var _data__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-selection/src/selection/data.js');
            var _enter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-selection/src/selection/enter.js');
            var _exit__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-selection/src/selection/exit.js');
            var _join__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-selection/src/selection/join.js');
            var _merge__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-selection/src/selection/merge.js');
            var _order__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-selection/src/selection/order.js');
            var _sort__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__('./node_modules/d3-selection/src/selection/sort.js');
            var _call__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__('./node_modules/d3-selection/src/selection/call.js');
            var _nodes__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__('./node_modules/d3-selection/src/selection/nodes.js');
            var _node__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__('./node_modules/d3-selection/src/selection/node.js');
            var _size__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__('./node_modules/d3-selection/src/selection/size.js');
            var _empty__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__('./node_modules/d3-selection/src/selection/empty.js');
            var _each__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__('./node_modules/d3-selection/src/selection/each.js');
            var _attr__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__('./node_modules/d3-selection/src/selection/attr.js');
            var _style__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__('./node_modules/d3-selection/src/selection/style.js');
            var _property__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__('./node_modules/d3-selection/src/selection/property.js');
            var _classed__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__('./node_modules/d3-selection/src/selection/classed.js');
            var _text__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__('./node_modules/d3-selection/src/selection/text.js');
            var _html__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__('./node_modules/d3-selection/src/selection/html.js');
            var _raise__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__('./node_modules/d3-selection/src/selection/raise.js');
            var _lower__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__('./node_modules/d3-selection/src/selection/lower.js');
            var _append__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__('./node_modules/d3-selection/src/selection/append.js');
            var _insert__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__('./node_modules/d3-selection/src/selection/insert.js');
            var _remove__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__('./node_modules/d3-selection/src/selection/remove.js');
            var _clone__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__('./node_modules/d3-selection/src/selection/clone.js');
            var _datum__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__('./node_modules/d3-selection/src/selection/datum.js');
            var _on__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__('./node_modules/d3-selection/src/selection/on.js');
            var _dispatch__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__('./node_modules/d3-selection/src/selection/dispatch.js');
            var root = [null];
            function Selection(groups, parents) {
                this._groups = groups;
                this._parents = parents;
            }
            function selection() {
                return new Selection([[document.documentElement]], root);
            }
            Selection.prototype = selection.prototype = {
                constructor: Selection,
                select: _select__WEBPACK_IMPORTED_MODULE_0__['default'],
                selectAll: _selectAll__WEBPACK_IMPORTED_MODULE_1__['default'],
                filter: _filter__WEBPACK_IMPORTED_MODULE_2__['default'],
                data: _data__WEBPACK_IMPORTED_MODULE_3__['default'],
                enter: _enter__WEBPACK_IMPORTED_MODULE_4__['default'],
                exit: _exit__WEBPACK_IMPORTED_MODULE_5__['default'],
                join: _join__WEBPACK_IMPORTED_MODULE_6__['default'],
                merge: _merge__WEBPACK_IMPORTED_MODULE_7__['default'],
                order: _order__WEBPACK_IMPORTED_MODULE_8__['default'],
                sort: _sort__WEBPACK_IMPORTED_MODULE_9__['default'],
                call: _call__WEBPACK_IMPORTED_MODULE_10__['default'],
                nodes: _nodes__WEBPACK_IMPORTED_MODULE_11__['default'],
                node: _node__WEBPACK_IMPORTED_MODULE_12__['default'],
                size: _size__WEBPACK_IMPORTED_MODULE_13__['default'],
                empty: _empty__WEBPACK_IMPORTED_MODULE_14__['default'],
                each: _each__WEBPACK_IMPORTED_MODULE_15__['default'],
                attr: _attr__WEBPACK_IMPORTED_MODULE_16__['default'],
                style: _style__WEBPACK_IMPORTED_MODULE_17__['default'],
                property: _property__WEBPACK_IMPORTED_MODULE_18__['default'],
                classed: _classed__WEBPACK_IMPORTED_MODULE_19__['default'],
                text: _text__WEBPACK_IMPORTED_MODULE_20__['default'],
                html: _html__WEBPACK_IMPORTED_MODULE_21__['default'],
                raise: _raise__WEBPACK_IMPORTED_MODULE_22__['default'],
                lower: _lower__WEBPACK_IMPORTED_MODULE_23__['default'],
                append: _append__WEBPACK_IMPORTED_MODULE_24__['default'],
                insert: _insert__WEBPACK_IMPORTED_MODULE_25__['default'],
                remove: _remove__WEBPACK_IMPORTED_MODULE_26__['default'],
                clone: _clone__WEBPACK_IMPORTED_MODULE_27__['default'],
                datum: _datum__WEBPACK_IMPORTED_MODULE_28__['default'],
                on: _on__WEBPACK_IMPORTED_MODULE_29__['default'],
                dispatch: _dispatch__WEBPACK_IMPORTED_MODULE_30__['default']
            };
            __webpack_exports__['default'] = selection;
        },
        './node_modules/d3-selection/src/selection/insert.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _creator__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/creator.js');
            var _selector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/selector.js');
            function constantNull() {
                return null;
            }
            __webpack_exports__['default'] = function (name, before) {
                var create = typeof name === 'function' ? name : Object(_creator__WEBPACK_IMPORTED_MODULE_0__['default'])(name), select = before == null ? constantNull : typeof before === 'function' ? before : Object(_selector__WEBPACK_IMPORTED_MODULE_1__['default'])(before);
                return this.select(function () {
                    return this.insertBefore(create.apply(this, arguments), select.apply(this, arguments) || null);
                });
            };
        },
        './node_modules/d3-selection/src/selection/join.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (onenter, onupdate, onexit) {
                var enter = this.enter(), update = this, exit = this.exit();
                enter = typeof onenter === 'function' ? onenter(enter) : enter.append(onenter + '');
                if (onupdate != null)
                    update = onupdate(update);
                if (onexit == null)
                    exit.remove();
                else
                    onexit(exit);
                return enter && update ? enter.merge(update).order() : update;
            };
        },
        './node_modules/d3-selection/src/selection/lower.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function lower() {
                if (this.previousSibling)
                    this.parentNode.insertBefore(this, this.parentNode.firstChild);
            }
            __webpack_exports__['default'] = function () {
                return this.each(lower);
            };
        },
        './node_modules/d3-selection/src/selection/merge.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/selection/index.js');
            __webpack_exports__['default'] = function (selection) {
                for (var groups0 = this._groups, groups1 = selection._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {
                    for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {
                        if (node = group0[i] || group1[i]) {
                            merge[i] = node;
                        }
                    }
                }
                for (; j < m0; ++j) {
                    merges[j] = groups0[j];
                }
                return new _index__WEBPACK_IMPORTED_MODULE_0__['Selection'](merges, this._parents);
            };
        },
        './node_modules/d3-selection/src/selection/node.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
                for (var groups = this._groups, j = 0, m = groups.length; j < m; ++j) {
                    for (var group = groups[j], i = 0, n = group.length; i < n; ++i) {
                        var node = group[i];
                        if (node)
                            return node;
                    }
                }
                return null;
            };
        },
        './node_modules/d3-selection/src/selection/nodes.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
                var nodes = new Array(this.size()), i = -1;
                this.each(function () {
                    nodes[++i] = this;
                });
                return nodes;
            };
        },
        './node_modules/d3-selection/src/selection/on.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'event', function () {
                return event;
            });
            __webpack_require__.d(__webpack_exports__, 'customEvent', function () {
                return customEvent;
            });
            var filterEvents = {};
            var event = null;
            if (typeof document !== 'undefined') {
                var element = document.documentElement;
                if (!('onmouseenter' in element)) {
                    filterEvents = {
                        mouseenter: 'mouseover',
                        mouseleave: 'mouseout'
                    };
                }
            }
            function filterContextListener(listener, index, group) {
                listener = contextListener(listener, index, group);
                return function (event) {
                    var related = event.relatedTarget;
                    if (!related || related !== this && !(related.compareDocumentPosition(this) & 8)) {
                        listener.call(this, event);
                    }
                };
            }
            function contextListener(listener, index, group) {
                return function (event1) {
                    var event0 = event;
                    event = event1;
                    try {
                        listener.call(this, this.__data__, index, group);
                    } finally {
                        event = event0;
                    }
                };
            }
            function parseTypenames(typenames) {
                return typenames.trim().split(/^|\s+/).map(function (t) {
                    var name = '', i = t.indexOf('.');
                    if (i >= 0)
                        name = t.slice(i + 1), t = t.slice(0, i);
                    return {
                        type: t,
                        name: name
                    };
                });
            }
            function onRemove(typename) {
                return function () {
                    var on = this.__on;
                    if (!on)
                        return;
                    for (var j = 0, i = -1, m = on.length, o; j < m; ++j) {
                        if (o = on[j], (!typename.type || o.type === typename.type) && o.name === typename.name) {
                            this.removeEventListener(o.type, o.listener, o.capture);
                        } else {
                            on[++i] = o;
                        }
                    }
                    if (++i)
                        on.length = i;
                    else
                        delete this.__on;
                };
            }
            function onAdd(typename, value, capture) {
                var wrap = filterEvents.hasOwnProperty(typename.type) ? filterContextListener : contextListener;
                return function (d, i, group) {
                    var on = this.__on, o, listener = wrap(value, i, group);
                    if (on)
                        for (var j = 0, m = on.length; j < m; ++j) {
                            if ((o = on[j]).type === typename.type && o.name === typename.name) {
                                this.removeEventListener(o.type, o.listener, o.capture);
                                this.addEventListener(o.type, o.listener = listener, o.capture = capture);
                                o.value = value;
                                return;
                            }
                        }
                    this.addEventListener(typename.type, listener, capture);
                    o = {
                        type: typename.type,
                        name: typename.name,
                        value: value,
                        listener: listener,
                        capture: capture
                    };
                    if (!on)
                        this.__on = [o];
                    else
                        on.push(o);
                };
            }
            __webpack_exports__['default'] = function (typename, value, capture) {
                var typenames = parseTypenames(typename + ''), i, n = typenames.length, t;
                if (arguments.length < 2) {
                    var on = this.node().__on;
                    if (on)
                        for (var j = 0, m = on.length, o; j < m; ++j) {
                            for (i = 0, o = on[j]; i < n; ++i) {
                                if ((t = typenames[i]).type === o.type && t.name === o.name) {
                                    return o.value;
                                }
                            }
                        }
                    return;
                }
                on = value ? onAdd : onRemove;
                if (capture == null)
                    capture = false;
                for (i = 0; i < n; ++i)
                    this.each(on(typenames[i], value, capture));
                return this;
            };
            function customEvent(event1, listener, that, args) {
                var event0 = event;
                event1.sourceEvent = event;
                event = event1;
                try {
                    return listener.apply(that, args);
                } finally {
                    event = event0;
                }
            }
        },
        './node_modules/d3-selection/src/selection/order.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
                for (var groups = this._groups, j = -1, m = groups.length; ++j < m;) {
                    for (var group = groups[j], i = group.length - 1, next = group[i], node; --i >= 0;) {
                        if (node = group[i]) {
                            if (next && node.compareDocumentPosition(next) ^ 4)
                                next.parentNode.insertBefore(node, next);
                            next = node;
                        }
                    }
                }
                return this;
            };
        },
        './node_modules/d3-selection/src/selection/property.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function propertyRemove(name) {
                return function () {
                    delete this[name];
                };
            }
            function propertyConstant(name, value) {
                return function () {
                    this[name] = value;
                };
            }
            function propertyFunction(name, value) {
                return function () {
                    var v = value.apply(this, arguments);
                    if (v == null)
                        delete this[name];
                    else
                        this[name] = v;
                };
            }
            __webpack_exports__['default'] = function (name, value) {
                return arguments.length > 1 ? this.each((value == null ? propertyRemove : typeof value === 'function' ? propertyFunction : propertyConstant)(name, value)) : this.node()[name];
            };
        },
        './node_modules/d3-selection/src/selection/raise.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function raise() {
                if (this.nextSibling)
                    this.parentNode.appendChild(this);
            }
            __webpack_exports__['default'] = function () {
                return this.each(raise);
            };
        },
        './node_modules/d3-selection/src/selection/remove.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function remove() {
                var parent = this.parentNode;
                if (parent)
                    parent.removeChild(this);
            }
            __webpack_exports__['default'] = function () {
                return this.each(remove);
            };
        },
        './node_modules/d3-selection/src/selection/select.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/selection/index.js');
            var _selector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/selector.js');
            __webpack_exports__['default'] = function (select) {
                if (typeof select !== 'function')
                    select = Object(_selector__WEBPACK_IMPORTED_MODULE_1__['default'])(select);
                for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
                    for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
                        if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {
                            if ('__data__' in node)
                                subnode.__data__ = node.__data__;
                            subgroup[i] = subnode;
                        }
                    }
                }
                return new _index__WEBPACK_IMPORTED_MODULE_0__['Selection'](subgroups, this._parents);
            };
        },
        './node_modules/d3-selection/src/selection/selectAll.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/selection/index.js');
            var _selectorAll__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/selectorAll.js');
            __webpack_exports__['default'] = function (select) {
                if (typeof select !== 'function')
                    select = Object(_selectorAll__WEBPACK_IMPORTED_MODULE_1__['default'])(select);
                for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
                    for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
                        if (node = group[i]) {
                            subgroups.push(select.call(node, node.__data__, i, group));
                            parents.push(node);
                        }
                    }
                }
                return new _index__WEBPACK_IMPORTED_MODULE_0__['Selection'](subgroups, parents);
            };
        },
        './node_modules/d3-selection/src/selection/size.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
                var size = 0;
                this.each(function () {
                    ++size;
                });
                return size;
            };
        },
        './node_modules/d3-selection/src/selection/sort.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/selection/index.js');
            __webpack_exports__['default'] = function (compare) {
                if (!compare)
                    compare = ascending;
                function compareNode(a, b) {
                    return a && b ? compare(a.__data__, b.__data__) : !a - !b;
                }
                for (var groups = this._groups, m = groups.length, sortgroups = new Array(m), j = 0; j < m; ++j) {
                    for (var group = groups[j], n = group.length, sortgroup = sortgroups[j] = new Array(n), node, i = 0; i < n; ++i) {
                        if (node = group[i]) {
                            sortgroup[i] = node;
                        }
                    }
                    sortgroup.sort(compareNode);
                }
                return new _index__WEBPACK_IMPORTED_MODULE_0__['Selection'](sortgroups, this._parents).order();
            };
            function ascending(a, b) {
                return a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;
            }
        },
        './node_modules/d3-selection/src/selection/sparse.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (update) {
                return new Array(update.length);
            };
        },
        './node_modules/d3-selection/src/selection/style.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'styleValue', function () {
                return styleValue;
            });
            var _window__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/window.js');
            function styleRemove(name) {
                return function () {
                    this.style.removeProperty(name);
                };
            }
            function styleConstant(name, value, priority) {
                return function () {
                    this.style.setProperty(name, value, priority);
                };
            }
            function styleFunction(name, value, priority) {
                return function () {
                    var v = value.apply(this, arguments);
                    if (v == null)
                        this.style.removeProperty(name);
                    else
                        this.style.setProperty(name, v, priority);
                };
            }
            __webpack_exports__['default'] = function (name, value, priority) {
                return arguments.length > 1 ? this.each((value == null ? styleRemove : typeof value === 'function' ? styleFunction : styleConstant)(name, value, priority == null ? '' : priority)) : styleValue(this.node(), name);
            };
            function styleValue(node, name) {
                return node.style.getPropertyValue(name) || Object(_window__WEBPACK_IMPORTED_MODULE_0__['default'])(node).getComputedStyle(node, null).getPropertyValue(name);
            }
        },
        './node_modules/d3-selection/src/selection/text.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function textRemove() {
                this.textContent = '';
            }
            function textConstant(value) {
                return function () {
                    this.textContent = value;
                };
            }
            function textFunction(value) {
                return function () {
                    var v = value.apply(this, arguments);
                    this.textContent = v == null ? '' : v;
                };
            }
            __webpack_exports__['default'] = function (value) {
                return arguments.length ? this.each(value == null ? textRemove : (typeof value === 'function' ? textFunction : textConstant)(value)) : this.node().textContent;
            };
        },
        './node_modules/d3-selection/src/selector.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function none() {
            }
            __webpack_exports__['default'] = function (selector) {
                return selector == null ? none : function () {
                    return this.querySelector(selector);
                };
            };
        },
        './node_modules/d3-selection/src/selectorAll.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function empty() {
                return [];
            }
            __webpack_exports__['default'] = function (selector) {
                return selector == null ? empty : function () {
                    return this.querySelectorAll(selector);
                };
            };
        },
        './node_modules/d3-selection/src/sourceEvent.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _selection_on__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/selection/on.js');
            __webpack_exports__['default'] = function () {
                var current = _selection_on__WEBPACK_IMPORTED_MODULE_0__['event'], source;
                while (source = current.sourceEvent)
                    current = source;
                return current;
            };
        },
        './node_modules/d3-selection/src/touch.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _sourceEvent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/sourceEvent.js');
            var _point__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/point.js');
            __webpack_exports__['default'] = function (node, touches, identifier) {
                if (arguments.length < 3)
                    identifier = touches, touches = Object(_sourceEvent__WEBPACK_IMPORTED_MODULE_0__['default'])().changedTouches;
                for (var i = 0, n = touches ? touches.length : 0, touch; i < n; ++i) {
                    if ((touch = touches[i]).identifier === identifier) {
                        return Object(_point__WEBPACK_IMPORTED_MODULE_1__['default'])(node, touch);
                    }
                }
                return null;
            };
        },
        './node_modules/d3-selection/src/touches.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _sourceEvent__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/sourceEvent.js');
            var _point__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/point.js');
            __webpack_exports__['default'] = function (node, touches) {
                if (touches == null)
                    touches = Object(_sourceEvent__WEBPACK_IMPORTED_MODULE_0__['default'])().touches;
                for (var i = 0, n = touches ? touches.length : 0, points = new Array(n); i < n; ++i) {
                    points[i] = Object(_point__WEBPACK_IMPORTED_MODULE_1__['default'])(node, touches[i]);
                }
                return points;
            };
        },
        './node_modules/d3-selection/src/window.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (node) {
                return node.ownerDocument && node.ownerDocument.defaultView || node.document && node || node.defaultView;
            };
        },
        './node_modules/d3-shape/src/arc.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-path/src/index.js');
            var _constant_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-shape/src/constant.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-shape/src/math.js');
            function arcInnerRadius(d) {
                return d.innerRadius;
            }
            function arcOuterRadius(d) {
                return d.outerRadius;
            }
            function arcStartAngle(d) {
                return d.startAngle;
            }
            function arcEndAngle(d) {
                return d.endAngle;
            }
            function arcPadAngle(d) {
                return d && d.padAngle;
            }
            function intersect(x0, y0, x1, y1, x2, y2, x3, y3) {
                var x10 = x1 - x0, y10 = y1 - y0, x32 = x3 - x2, y32 = y3 - y2, t = y32 * x10 - x32 * y10;
                if (t * t < _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon'])
                    return;
                t = (x32 * (y0 - y2) - y32 * (x0 - x2)) / t;
                return [
                    x0 + t * x10,
                    y0 + t * y10
                ];
            }
            function cornerTangents(x0, y0, x1, y1, r1, rc, cw) {
                var x01 = x0 - x1, y01 = y0 - y1, lo = (cw ? rc : -rc) / Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sqrt'])(x01 * x01 + y01 * y01), ox = lo * y01, oy = -lo * x01, x11 = x0 + ox, y11 = y0 + oy, x10 = x1 + ox, y10 = y1 + oy, x00 = (x11 + x10) / 2, y00 = (y11 + y10) / 2, dx = x10 - x11, dy = y10 - y11, d2 = dx * dx + dy * dy, r = r1 - rc, D = x11 * y10 - x10 * y11, d = (dy < 0 ? -1 : 1) * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sqrt'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['max'])(0, r * r * d2 - D * D)), cx0 = (D * dy - dx * d) / d2, cy0 = (-D * dx - dy * d) / d2, cx1 = (D * dy + dx * d) / d2, cy1 = (-D * dx + dy * d) / d2, dx0 = cx0 - x00, dy0 = cy0 - y00, dx1 = cx1 - x00, dy1 = cy1 - y00;
                if (dx0 * dx0 + dy0 * dy0 > dx1 * dx1 + dy1 * dy1)
                    cx0 = cx1, cy0 = cy1;
                return {
                    cx: cx0,
                    cy: cy0,
                    x01: -ox,
                    y01: -oy,
                    x11: cx0 * (r1 / r - 1),
                    y11: cy0 * (r1 / r - 1)
                };
            }
            __webpack_exports__['default'] = function () {
                var innerRadius = arcInnerRadius, outerRadius = arcOuterRadius, cornerRadius = Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(0), padRadius = null, startAngle = arcStartAngle, endAngle = arcEndAngle, padAngle = arcPadAngle, context = null;
                function arc() {
                    var buffer, r, r0 = +innerRadius.apply(this, arguments), r1 = +outerRadius.apply(this, arguments), a0 = startAngle.apply(this, arguments) - _math_js__WEBPACK_IMPORTED_MODULE_2__['halfPi'], a1 = endAngle.apply(this, arguments) - _math_js__WEBPACK_IMPORTED_MODULE_2__['halfPi'], da = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['abs'])(a1 - a0), cw = a1 > a0;
                    if (!context)
                        context = buffer = Object(d3_path__WEBPACK_IMPORTED_MODULE_0__['path'])();
                    if (r1 < r0)
                        r = r1, r1 = r0, r0 = r;
                    if (!(r1 > _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon']))
                        context.moveTo(0, 0);
                    else if (da > _math_js__WEBPACK_IMPORTED_MODULE_2__['tau'] - _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon']) {
                        context.moveTo(r1 * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['cos'])(a0), r1 * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(a0));
                        context.arc(0, 0, r1, a0, a1, !cw);
                        if (r0 > _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon']) {
                            context.moveTo(r0 * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['cos'])(a1), r0 * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(a1));
                            context.arc(0, 0, r0, a1, a0, cw);
                        }
                    } else {
                        var a01 = a0, a11 = a1, a00 = a0, a10 = a1, da0 = da, da1 = da, ap = padAngle.apply(this, arguments) / 2, rp = ap > _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon'] && (padRadius ? +padRadius.apply(this, arguments) : Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sqrt'])(r0 * r0 + r1 * r1)), rc = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['min'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['abs'])(r1 - r0) / 2, +cornerRadius.apply(this, arguments)), rc0 = rc, rc1 = rc, t0, t1;
                        if (rp > _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon']) {
                            var p0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['asin'])(rp / r0 * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(ap)), p1 = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['asin'])(rp / r1 * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(ap));
                            if ((da0 -= p0 * 2) > _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon'])
                                p0 *= cw ? 1 : -1, a00 += p0, a10 -= p0;
                            else
                                da0 = 0, a00 = a10 = (a0 + a1) / 2;
                            if ((da1 -= p1 * 2) > _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon'])
                                p1 *= cw ? 1 : -1, a01 += p1, a11 -= p1;
                            else
                                da1 = 0, a01 = a11 = (a0 + a1) / 2;
                        }
                        var x01 = r1 * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['cos'])(a01), y01 = r1 * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(a01), x10 = r0 * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['cos'])(a10), y10 = r0 * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(a10);
                        if (rc > _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon']) {
                            var x11 = r1 * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['cos'])(a11), y11 = r1 * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(a11), x00 = r0 * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['cos'])(a00), y00 = r0 * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(a00), oc;
                            if (da < _math_js__WEBPACK_IMPORTED_MODULE_2__['pi'] && (oc = intersect(x01, y01, x00, y00, x11, y11, x10, y10))) {
                                var ax = x01 - oc[0], ay = y01 - oc[1], bx = x11 - oc[0], by = y11 - oc[1], kc = 1 / Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['acos'])((ax * bx + ay * by) / (Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sqrt'])(ax * ax + ay * ay) * Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sqrt'])(bx * bx + by * by))) / 2), lc = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sqrt'])(oc[0] * oc[0] + oc[1] * oc[1]);
                                rc0 = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['min'])(rc, (r0 - lc) / (kc - 1));
                                rc1 = Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['min'])(rc, (r1 - lc) / (kc + 1));
                            }
                        }
                        if (!(da1 > _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon']))
                            context.moveTo(x01, y01);
                        else if (rc1 > _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon']) {
                            t0 = cornerTangents(x00, y00, x01, y01, r1, rc1, cw);
                            t1 = cornerTangents(x11, y11, x10, y10, r1, rc1, cw);
                            context.moveTo(t0.cx + t0.x01, t0.cy + t0.y01);
                            if (rc1 < rc)
                                context.arc(t0.cx, t0.cy, rc1, Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(t0.y01, t0.x01), Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(t1.y01, t1.x01), !cw);
                            else {
                                context.arc(t0.cx, t0.cy, rc1, Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(t0.y01, t0.x01), Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(t0.y11, t0.x11), !cw);
                                context.arc(0, 0, r1, Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(t0.cy + t0.y11, t0.cx + t0.x11), Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(t1.cy + t1.y11, t1.cx + t1.x11), !cw);
                                context.arc(t1.cx, t1.cy, rc1, Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(t1.y11, t1.x11), Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(t1.y01, t1.x01), !cw);
                            }
                        } else
                            context.moveTo(x01, y01), context.arc(0, 0, r1, a01, a11, !cw);
                        if (!(r0 > _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon']) || !(da0 > _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon']))
                            context.lineTo(x10, y10);
                        else if (rc0 > _math_js__WEBPACK_IMPORTED_MODULE_2__['epsilon']) {
                            t0 = cornerTangents(x10, y10, x11, y11, r0, -rc0, cw);
                            t1 = cornerTangents(x01, y01, x00, y00, r0, -rc0, cw);
                            context.lineTo(t0.cx + t0.x01, t0.cy + t0.y01);
                            if (rc0 < rc)
                                context.arc(t0.cx, t0.cy, rc0, Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(t0.y01, t0.x01), Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(t1.y01, t1.x01), !cw);
                            else {
                                context.arc(t0.cx, t0.cy, rc0, Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(t0.y01, t0.x01), Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(t0.y11, t0.x11), !cw);
                                context.arc(0, 0, r0, Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(t0.cy + t0.y11, t0.cx + t0.x11), Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(t1.cy + t1.y11, t1.cx + t1.x11), cw);
                                context.arc(t1.cx, t1.cy, rc0, Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(t1.y11, t1.x11), Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['atan2'])(t1.y01, t1.x01), !cw);
                            }
                        } else
                            context.arc(0, 0, r0, a10, a00, cw);
                    }
                    context.closePath();
                    if (buffer)
                        return context = null, buffer + '' || null;
                }
                arc.centroid = function () {
                    var r = (+innerRadius.apply(this, arguments) + +outerRadius.apply(this, arguments)) / 2, a = (+startAngle.apply(this, arguments) + +endAngle.apply(this, arguments)) / 2 - _math_js__WEBPACK_IMPORTED_MODULE_2__['pi'] / 2;
                    return [
                        Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['cos'])(a) * r,
                        Object(_math_js__WEBPACK_IMPORTED_MODULE_2__['sin'])(a) * r
                    ];
                };
                arc.innerRadius = function (_) {
                    return arguments.length ? (innerRadius = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), arc) : innerRadius;
                };
                arc.outerRadius = function (_) {
                    return arguments.length ? (outerRadius = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), arc) : outerRadius;
                };
                arc.cornerRadius = function (_) {
                    return arguments.length ? (cornerRadius = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), arc) : cornerRadius;
                };
                arc.padRadius = function (_) {
                    return arguments.length ? (padRadius = _ == null ? null : typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), arc) : padRadius;
                };
                arc.startAngle = function (_) {
                    return arguments.length ? (startAngle = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), arc) : startAngle;
                };
                arc.endAngle = function (_) {
                    return arguments.length ? (endAngle = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), arc) : endAngle;
                };
                arc.padAngle = function (_) {
                    return arguments.length ? (padAngle = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), arc) : padAngle;
                };
                arc.context = function (_) {
                    return arguments.length ? (context = _ == null ? null : _, arc) : context;
                };
                return arc;
            };
        },
        './node_modules/d3-shape/src/area.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-path/src/index.js');
            var _constant_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-shape/src/constant.js');
            var _curve_linear_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-shape/src/curve/linear.js');
            var _line_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-shape/src/line.js');
            var _point_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-shape/src/point.js');
            __webpack_exports__['default'] = function () {
                var x0 = _point_js__WEBPACK_IMPORTED_MODULE_4__['x'], x1 = null, y0 = Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(0), y1 = _point_js__WEBPACK_IMPORTED_MODULE_4__['y'], defined = Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(true), context = null, curve = _curve_linear_js__WEBPACK_IMPORTED_MODULE_2__['default'], output = null;
                function area(data) {
                    var i, j, k, n = data.length, d, defined0 = false, buffer, x0z = new Array(n), y0z = new Array(n);
                    if (context == null)
                        output = curve(buffer = Object(d3_path__WEBPACK_IMPORTED_MODULE_0__['path'])());
                    for (i = 0; i <= n; ++i) {
                        if (!(i < n && defined(d = data[i], i, data)) === defined0) {
                            if (defined0 = !defined0) {
                                j = i;
                                output.areaStart();
                                output.lineStart();
                            } else {
                                output.lineEnd();
                                output.lineStart();
                                for (k = i - 1; k >= j; --k) {
                                    output.point(x0z[k], y0z[k]);
                                }
                                output.lineEnd();
                                output.areaEnd();
                            }
                        }
                        if (defined0) {
                            x0z[i] = +x0(d, i, data), y0z[i] = +y0(d, i, data);
                            output.point(x1 ? +x1(d, i, data) : x0z[i], y1 ? +y1(d, i, data) : y0z[i]);
                        }
                    }
                    if (buffer)
                        return output = null, buffer + '' || null;
                }
                function arealine() {
                    return Object(_line_js__WEBPACK_IMPORTED_MODULE_3__['default'])().defined(defined).curve(curve).context(context);
                }
                area.x = function (_) {
                    return arguments.length ? (x0 = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), x1 = null, area) : x0;
                };
                area.x0 = function (_) {
                    return arguments.length ? (x0 = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), area) : x0;
                };
                area.x1 = function (_) {
                    return arguments.length ? (x1 = _ == null ? null : typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), area) : x1;
                };
                area.y = function (_) {
                    return arguments.length ? (y0 = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), y1 = null, area) : y0;
                };
                area.y0 = function (_) {
                    return arguments.length ? (y0 = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), area) : y0;
                };
                area.y1 = function (_) {
                    return arguments.length ? (y1 = _ == null ? null : typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), area) : y1;
                };
                area.lineX0 = area.lineY0 = function () {
                    return arealine().x(x0).y(y0);
                };
                area.lineY1 = function () {
                    return arealine().x(x0).y(y1);
                };
                area.lineX1 = function () {
                    return arealine().x(x1).y(y0);
                };
                area.defined = function (_) {
                    return arguments.length ? (defined = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(!!_), area) : defined;
                };
                area.curve = function (_) {
                    return arguments.length ? (curve = _, context != null && (output = curve(context)), area) : curve;
                };
                area.context = function (_) {
                    return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), area) : context;
                };
                return area;
            };
        },
        './node_modules/d3-shape/src/areaRadial.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _curve_radial_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/curve/radial.js');
            var _area_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-shape/src/area.js');
            var _lineRadial_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-shape/src/lineRadial.js');
            __webpack_exports__['default'] = function () {
                var a = Object(_area_js__WEBPACK_IMPORTED_MODULE_1__['default'])().curve(_curve_radial_js__WEBPACK_IMPORTED_MODULE_0__['curveRadialLinear']), c = a.curve, x0 = a.lineX0, x1 = a.lineX1, y0 = a.lineY0, y1 = a.lineY1;
                a.angle = a.x, delete a.x;
                a.startAngle = a.x0, delete a.x0;
                a.endAngle = a.x1, delete a.x1;
                a.radius = a.y, delete a.y;
                a.innerRadius = a.y0, delete a.y0;
                a.outerRadius = a.y1, delete a.y1;
                a.lineStartAngle = function () {
                    return Object(_lineRadial_js__WEBPACK_IMPORTED_MODULE_2__['lineRadial'])(x0());
                }, delete a.lineX0;
                a.lineEndAngle = function () {
                    return Object(_lineRadial_js__WEBPACK_IMPORTED_MODULE_2__['lineRadial'])(x1());
                }, delete a.lineX1;
                a.lineInnerRadius = function () {
                    return Object(_lineRadial_js__WEBPACK_IMPORTED_MODULE_2__['lineRadial'])(y0());
                }, delete a.lineY0;
                a.lineOuterRadius = function () {
                    return Object(_lineRadial_js__WEBPACK_IMPORTED_MODULE_2__['lineRadial'])(y1());
                }, delete a.lineY1;
                a.curve = function (_) {
                    return arguments.length ? c(Object(_curve_radial_js__WEBPACK_IMPORTED_MODULE_0__['default'])(_)) : c()._curve;
                };
                return a;
            };
        },
        './node_modules/d3-shape/src/array.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'slice', function () {
                return slice;
            });
            var slice = Array.prototype.slice;
        },
        './node_modules/d3-shape/src/constant.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return function constant() {
                    return x;
                };
            };
        },
        './node_modules/d3-shape/src/curve/basis.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'point', function () {
                return point;
            });
            __webpack_require__.d(__webpack_exports__, 'Basis', function () {
                return Basis;
            });
            function point(that, x, y) {
                that._context.bezierCurveTo((2 * that._x0 + that._x1) / 3, (2 * that._y0 + that._y1) / 3, (that._x0 + 2 * that._x1) / 3, (that._y0 + 2 * that._y1) / 3, (that._x0 + 4 * that._x1 + x) / 6, (that._y0 + 4 * that._y1 + y) / 6);
            }
            function Basis(context) {
                this._context = context;
            }
            Basis.prototype = {
                areaStart: function () {
                    this._line = 0;
                },
                areaEnd: function () {
                    this._line = NaN;
                },
                lineStart: function () {
                    this._x0 = this._x1 = this._y0 = this._y1 = NaN;
                    this._point = 0;
                },
                lineEnd: function () {
                    switch (this._point) {
                    case 3:
                        point(this, this._x1, this._y1);
                    case 2:
                        this._context.lineTo(this._x1, this._y1);
                        break;
                    }
                    if (this._line || this._line !== 0 && this._point === 1)
                        this._context.closePath();
                    this._line = 1 - this._line;
                },
                point: function (x, y) {
                    x = +x, y = +y;
                    switch (this._point) {
                    case 0:
                        this._point = 1;
                        this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);
                        break;
                    case 1:
                        this._point = 2;
                        break;
                    case 2:
                        this._point = 3;
                        this._context.lineTo((5 * this._x0 + this._x1) / 6, (5 * this._y0 + this._y1) / 6);
                    default:
                        point(this, x, y);
                        break;
                    }
                    this._x0 = this._x1, this._x1 = x;
                    this._y0 = this._y1, this._y1 = y;
                }
            };
            __webpack_exports__['default'] = function (context) {
                return new Basis(context);
            };
        },
        './node_modules/d3-shape/src/curve/basisClosed.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _noop_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/noop.js');
            var _basis_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-shape/src/curve/basis.js');
            function BasisClosed(context) {
                this._context = context;
            }
            BasisClosed.prototype = {
                areaStart: _noop_js__WEBPACK_IMPORTED_MODULE_0__['default'],
                areaEnd: _noop_js__WEBPACK_IMPORTED_MODULE_0__['default'],
                lineStart: function () {
                    this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = NaN;
                    this._point = 0;
                },
                lineEnd: function () {
                    switch (this._point) {
                    case 1: {
                            this._context.moveTo(this._x2, this._y2);
                            this._context.closePath();
                            break;
                        }
                    case 2: {
                            this._context.moveTo((this._x2 + 2 * this._x3) / 3, (this._y2 + 2 * this._y3) / 3);
                            this._context.lineTo((this._x3 + 2 * this._x2) / 3, (this._y3 + 2 * this._y2) / 3);
                            this._context.closePath();
                            break;
                        }
                    case 3: {
                            this.point(this._x2, this._y2);
                            this.point(this._x3, this._y3);
                            this.point(this._x4, this._y4);
                            break;
                        }
                    }
                },
                point: function (x, y) {
                    x = +x, y = +y;
                    switch (this._point) {
                    case 0:
                        this._point = 1;
                        this._x2 = x, this._y2 = y;
                        break;
                    case 1:
                        this._point = 2;
                        this._x3 = x, this._y3 = y;
                        break;
                    case 2:
                        this._point = 3;
                        this._x4 = x, this._y4 = y;
                        this._context.moveTo((this._x0 + 4 * this._x1 + x) / 6, (this._y0 + 4 * this._y1 + y) / 6);
                        break;
                    default:
                        Object(_basis_js__WEBPACK_IMPORTED_MODULE_1__['point'])(this, x, y);
                        break;
                    }
                    this._x0 = this._x1, this._x1 = x;
                    this._y0 = this._y1, this._y1 = y;
                }
            };
            __webpack_exports__['default'] = function (context) {
                return new BasisClosed(context);
            };
        },
        './node_modules/d3-shape/src/curve/basisOpen.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _basis_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/curve/basis.js');
            function BasisOpen(context) {
                this._context = context;
            }
            BasisOpen.prototype = {
                areaStart: function () {
                    this._line = 0;
                },
                areaEnd: function () {
                    this._line = NaN;
                },
                lineStart: function () {
                    this._x0 = this._x1 = this._y0 = this._y1 = NaN;
                    this._point = 0;
                },
                lineEnd: function () {
                    if (this._line || this._line !== 0 && this._point === 3)
                        this._context.closePath();
                    this._line = 1 - this._line;
                },
                point: function (x, y) {
                    x = +x, y = +y;
                    switch (this._point) {
                    case 0:
                        this._point = 1;
                        break;
                    case 1:
                        this._point = 2;
                        break;
                    case 2:
                        this._point = 3;
                        var x0 = (this._x0 + 4 * this._x1 + x) / 6, y0 = (this._y0 + 4 * this._y1 + y) / 6;
                        this._line ? this._context.lineTo(x0, y0) : this._context.moveTo(x0, y0);
                        break;
                    case 3:
                        this._point = 4;
                    default:
                        Object(_basis_js__WEBPACK_IMPORTED_MODULE_0__['point'])(this, x, y);
                        break;
                    }
                    this._x0 = this._x1, this._x1 = x;
                    this._y0 = this._y1, this._y1 = y;
                }
            };
            __webpack_exports__['default'] = function (context) {
                return new BasisOpen(context);
            };
        },
        './node_modules/d3-shape/src/curve/bundle.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _basis_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/curve/basis.js');
            function Bundle(context, beta) {
                this._basis = new _basis_js__WEBPACK_IMPORTED_MODULE_0__['Basis'](context);
                this._beta = beta;
            }
            Bundle.prototype = {
                lineStart: function () {
                    this._x = [];
                    this._y = [];
                    this._basis.lineStart();
                },
                lineEnd: function () {
                    var x = this._x, y = this._y, j = x.length - 1;
                    if (j > 0) {
                        var x0 = x[0], y0 = y[0], dx = x[j] - x0, dy = y[j] - y0, i = -1, t;
                        while (++i <= j) {
                            t = i / j;
                            this._basis.point(this._beta * x[i] + (1 - this._beta) * (x0 + t * dx), this._beta * y[i] + (1 - this._beta) * (y0 + t * dy));
                        }
                    }
                    this._x = this._y = null;
                    this._basis.lineEnd();
                },
                point: function (x, y) {
                    this._x.push(+x);
                    this._y.push(+y);
                }
            };
            __webpack_exports__['default'] = function custom(beta) {
                function bundle(context) {
                    return beta === 1 ? new _basis_js__WEBPACK_IMPORTED_MODULE_0__['Basis'](context) : new Bundle(context, beta);
                }
                bundle.beta = function (beta) {
                    return custom(+beta);
                };
                return bundle;
            }(0.85);
        },
        './node_modules/d3-shape/src/curve/cardinal.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'point', function () {
                return point;
            });
            __webpack_require__.d(__webpack_exports__, 'Cardinal', function () {
                return Cardinal;
            });
            function point(that, x, y) {
                that._context.bezierCurveTo(that._x1 + that._k * (that._x2 - that._x0), that._y1 + that._k * (that._y2 - that._y0), that._x2 + that._k * (that._x1 - x), that._y2 + that._k * (that._y1 - y), that._x2, that._y2);
            }
            function Cardinal(context, tension) {
                this._context = context;
                this._k = (1 - tension) / 6;
            }
            Cardinal.prototype = {
                areaStart: function () {
                    this._line = 0;
                },
                areaEnd: function () {
                    this._line = NaN;
                },
                lineStart: function () {
                    this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN;
                    this._point = 0;
                },
                lineEnd: function () {
                    switch (this._point) {
                    case 2:
                        this._context.lineTo(this._x2, this._y2);
                        break;
                    case 3:
                        point(this, this._x1, this._y1);
                        break;
                    }
                    if (this._line || this._line !== 0 && this._point === 1)
                        this._context.closePath();
                    this._line = 1 - this._line;
                },
                point: function (x, y) {
                    x = +x, y = +y;
                    switch (this._point) {
                    case 0:
                        this._point = 1;
                        this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);
                        break;
                    case 1:
                        this._point = 2;
                        this._x1 = x, this._y1 = y;
                        break;
                    case 2:
                        this._point = 3;
                    default:
                        point(this, x, y);
                        break;
                    }
                    this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
                    this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
                }
            };
            __webpack_exports__['default'] = function custom(tension) {
                function cardinal(context) {
                    return new Cardinal(context, tension);
                }
                cardinal.tension = function (tension) {
                    return custom(+tension);
                };
                return cardinal;
            }(0);
        },
        './node_modules/d3-shape/src/curve/cardinalClosed.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'CardinalClosed', function () {
                return CardinalClosed;
            });
            var _noop_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/noop.js');
            var _cardinal_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-shape/src/curve/cardinal.js');
            function CardinalClosed(context, tension) {
                this._context = context;
                this._k = (1 - tension) / 6;
            }
            CardinalClosed.prototype = {
                areaStart: _noop_js__WEBPACK_IMPORTED_MODULE_0__['default'],
                areaEnd: _noop_js__WEBPACK_IMPORTED_MODULE_0__['default'],
                lineStart: function () {
                    this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;
                    this._point = 0;
                },
                lineEnd: function () {
                    switch (this._point) {
                    case 1: {
                            this._context.moveTo(this._x3, this._y3);
                            this._context.closePath();
                            break;
                        }
                    case 2: {
                            this._context.lineTo(this._x3, this._y3);
                            this._context.closePath();
                            break;
                        }
                    case 3: {
                            this.point(this._x3, this._y3);
                            this.point(this._x4, this._y4);
                            this.point(this._x5, this._y5);
                            break;
                        }
                    }
                },
                point: function (x, y) {
                    x = +x, y = +y;
                    switch (this._point) {
                    case 0:
                        this._point = 1;
                        this._x3 = x, this._y3 = y;
                        break;
                    case 1:
                        this._point = 2;
                        this._context.moveTo(this._x4 = x, this._y4 = y);
                        break;
                    case 2:
                        this._point = 3;
                        this._x5 = x, this._y5 = y;
                        break;
                    default:
                        Object(_cardinal_js__WEBPACK_IMPORTED_MODULE_1__['point'])(this, x, y);
                        break;
                    }
                    this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
                    this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
                }
            };
            __webpack_exports__['default'] = function custom(tension) {
                function cardinal(context) {
                    return new CardinalClosed(context, tension);
                }
                cardinal.tension = function (tension) {
                    return custom(+tension);
                };
                return cardinal;
            }(0);
        },
        './node_modules/d3-shape/src/curve/cardinalOpen.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'CardinalOpen', function () {
                return CardinalOpen;
            });
            var _cardinal_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/curve/cardinal.js');
            function CardinalOpen(context, tension) {
                this._context = context;
                this._k = (1 - tension) / 6;
            }
            CardinalOpen.prototype = {
                areaStart: function () {
                    this._line = 0;
                },
                areaEnd: function () {
                    this._line = NaN;
                },
                lineStart: function () {
                    this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN;
                    this._point = 0;
                },
                lineEnd: function () {
                    if (this._line || this._line !== 0 && this._point === 3)
                        this._context.closePath();
                    this._line = 1 - this._line;
                },
                point: function (x, y) {
                    x = +x, y = +y;
                    switch (this._point) {
                    case 0:
                        this._point = 1;
                        break;
                    case 1:
                        this._point = 2;
                        break;
                    case 2:
                        this._point = 3;
                        this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2);
                        break;
                    case 3:
                        this._point = 4;
                    default:
                        Object(_cardinal_js__WEBPACK_IMPORTED_MODULE_0__['point'])(this, x, y);
                        break;
                    }
                    this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
                    this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
                }
            };
            __webpack_exports__['default'] = function custom(tension) {
                function cardinal(context) {
                    return new CardinalOpen(context, tension);
                }
                cardinal.tension = function (tension) {
                    return custom(+tension);
                };
                return cardinal;
            }(0);
        },
        './node_modules/d3-shape/src/curve/catmullRom.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'point', function () {
                return point;
            });
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/math.js');
            var _cardinal_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-shape/src/curve/cardinal.js');
            function point(that, x, y) {
                var x1 = that._x1, y1 = that._y1, x2 = that._x2, y2 = that._y2;
                if (that._l01_a > _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon']) {
                    var a = 2 * that._l01_2a + 3 * that._l01_a * that._l12_a + that._l12_2a, n = 3 * that._l01_a * (that._l01_a + that._l12_a);
                    x1 = (x1 * a - that._x0 * that._l12_2a + that._x2 * that._l01_2a) / n;
                    y1 = (y1 * a - that._y0 * that._l12_2a + that._y2 * that._l01_2a) / n;
                }
                if (that._l23_a > _math_js__WEBPACK_IMPORTED_MODULE_0__['epsilon']) {
                    var b = 2 * that._l23_2a + 3 * that._l23_a * that._l12_a + that._l12_2a, m = 3 * that._l23_a * (that._l23_a + that._l12_a);
                    x2 = (x2 * b + that._x1 * that._l23_2a - x * that._l12_2a) / m;
                    y2 = (y2 * b + that._y1 * that._l23_2a - y * that._l12_2a) / m;
                }
                that._context.bezierCurveTo(x1, y1, x2, y2, that._x2, that._y2);
            }
            function CatmullRom(context, alpha) {
                this._context = context;
                this._alpha = alpha;
            }
            CatmullRom.prototype = {
                areaStart: function () {
                    this._line = 0;
                },
                areaEnd: function () {
                    this._line = NaN;
                },
                lineStart: function () {
                    this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN;
                    this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;
                },
                lineEnd: function () {
                    switch (this._point) {
                    case 2:
                        this._context.lineTo(this._x2, this._y2);
                        break;
                    case 3:
                        this.point(this._x2, this._y2);
                        break;
                    }
                    if (this._line || this._line !== 0 && this._point === 1)
                        this._context.closePath();
                    this._line = 1 - this._line;
                },
                point: function (x, y) {
                    x = +x, y = +y;
                    if (this._point) {
                        var x23 = this._x2 - x, y23 = this._y2 - y;
                        this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));
                    }
                    switch (this._point) {
                    case 0:
                        this._point = 1;
                        this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);
                        break;
                    case 1:
                        this._point = 2;
                        break;
                    case 2:
                        this._point = 3;
                    default:
                        point(this, x, y);
                        break;
                    }
                    this._l01_a = this._l12_a, this._l12_a = this._l23_a;
                    this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;
                    this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
                    this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
                }
            };
            __webpack_exports__['default'] = function custom(alpha) {
                function catmullRom(context) {
                    return alpha ? new CatmullRom(context, alpha) : new _cardinal_js__WEBPACK_IMPORTED_MODULE_1__['Cardinal'](context, 0);
                }
                catmullRom.alpha = function (alpha) {
                    return custom(+alpha);
                };
                return catmullRom;
            }(0.5);
        },
        './node_modules/d3-shape/src/curve/catmullRomClosed.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _cardinalClosed_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/curve/cardinalClosed.js');
            var _noop_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-shape/src/noop.js');
            var _catmullRom_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-shape/src/curve/catmullRom.js');
            function CatmullRomClosed(context, alpha) {
                this._context = context;
                this._alpha = alpha;
            }
            CatmullRomClosed.prototype = {
                areaStart: _noop_js__WEBPACK_IMPORTED_MODULE_1__['default'],
                areaEnd: _noop_js__WEBPACK_IMPORTED_MODULE_1__['default'],
                lineStart: function () {
                    this._x0 = this._x1 = this._x2 = this._x3 = this._x4 = this._x5 = this._y0 = this._y1 = this._y2 = this._y3 = this._y4 = this._y5 = NaN;
                    this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;
                },
                lineEnd: function () {
                    switch (this._point) {
                    case 1: {
                            this._context.moveTo(this._x3, this._y3);
                            this._context.closePath();
                            break;
                        }
                    case 2: {
                            this._context.lineTo(this._x3, this._y3);
                            this._context.closePath();
                            break;
                        }
                    case 3: {
                            this.point(this._x3, this._y3);
                            this.point(this._x4, this._y4);
                            this.point(this._x5, this._y5);
                            break;
                        }
                    }
                },
                point: function (x, y) {
                    x = +x, y = +y;
                    if (this._point) {
                        var x23 = this._x2 - x, y23 = this._y2 - y;
                        this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));
                    }
                    switch (this._point) {
                    case 0:
                        this._point = 1;
                        this._x3 = x, this._y3 = y;
                        break;
                    case 1:
                        this._point = 2;
                        this._context.moveTo(this._x4 = x, this._y4 = y);
                        break;
                    case 2:
                        this._point = 3;
                        this._x5 = x, this._y5 = y;
                        break;
                    default:
                        Object(_catmullRom_js__WEBPACK_IMPORTED_MODULE_2__['point'])(this, x, y);
                        break;
                    }
                    this._l01_a = this._l12_a, this._l12_a = this._l23_a;
                    this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;
                    this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
                    this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
                }
            };
            __webpack_exports__['default'] = function custom(alpha) {
                function catmullRom(context) {
                    return alpha ? new CatmullRomClosed(context, alpha) : new _cardinalClosed_js__WEBPACK_IMPORTED_MODULE_0__['CardinalClosed'](context, 0);
                }
                catmullRom.alpha = function (alpha) {
                    return custom(+alpha);
                };
                return catmullRom;
            }(0.5);
        },
        './node_modules/d3-shape/src/curve/catmullRomOpen.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _cardinalOpen_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/curve/cardinalOpen.js');
            var _catmullRom_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-shape/src/curve/catmullRom.js');
            function CatmullRomOpen(context, alpha) {
                this._context = context;
                this._alpha = alpha;
            }
            CatmullRomOpen.prototype = {
                areaStart: function () {
                    this._line = 0;
                },
                areaEnd: function () {
                    this._line = NaN;
                },
                lineStart: function () {
                    this._x0 = this._x1 = this._x2 = this._y0 = this._y1 = this._y2 = NaN;
                    this._l01_a = this._l12_a = this._l23_a = this._l01_2a = this._l12_2a = this._l23_2a = this._point = 0;
                },
                lineEnd: function () {
                    if (this._line || this._line !== 0 && this._point === 3)
                        this._context.closePath();
                    this._line = 1 - this._line;
                },
                point: function (x, y) {
                    x = +x, y = +y;
                    if (this._point) {
                        var x23 = this._x2 - x, y23 = this._y2 - y;
                        this._l23_a = Math.sqrt(this._l23_2a = Math.pow(x23 * x23 + y23 * y23, this._alpha));
                    }
                    switch (this._point) {
                    case 0:
                        this._point = 1;
                        break;
                    case 1:
                        this._point = 2;
                        break;
                    case 2:
                        this._point = 3;
                        this._line ? this._context.lineTo(this._x2, this._y2) : this._context.moveTo(this._x2, this._y2);
                        break;
                    case 3:
                        this._point = 4;
                    default:
                        Object(_catmullRom_js__WEBPACK_IMPORTED_MODULE_1__['point'])(this, x, y);
                        break;
                    }
                    this._l01_a = this._l12_a, this._l12_a = this._l23_a;
                    this._l01_2a = this._l12_2a, this._l12_2a = this._l23_2a;
                    this._x0 = this._x1, this._x1 = this._x2, this._x2 = x;
                    this._y0 = this._y1, this._y1 = this._y2, this._y2 = y;
                }
            };
            __webpack_exports__['default'] = function custom(alpha) {
                function catmullRom(context) {
                    return alpha ? new CatmullRomOpen(context, alpha) : new _cardinalOpen_js__WEBPACK_IMPORTED_MODULE_0__['CardinalOpen'](context, 0);
                }
                catmullRom.alpha = function (alpha) {
                    return custom(+alpha);
                };
                return catmullRom;
            }(0.5);
        },
        './node_modules/d3-shape/src/curve/linear.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function Linear(context) {
                this._context = context;
            }
            Linear.prototype = {
                areaStart: function () {
                    this._line = 0;
                },
                areaEnd: function () {
                    this._line = NaN;
                },
                lineStart: function () {
                    this._point = 0;
                },
                lineEnd: function () {
                    if (this._line || this._line !== 0 && this._point === 1)
                        this._context.closePath();
                    this._line = 1 - this._line;
                },
                point: function (x, y) {
                    x = +x, y = +y;
                    switch (this._point) {
                    case 0:
                        this._point = 1;
                        this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);
                        break;
                    case 1:
                        this._point = 2;
                    default:
                        this._context.lineTo(x, y);
                        break;
                    }
                }
            };
            __webpack_exports__['default'] = function (context) {
                return new Linear(context);
            };
        },
        './node_modules/d3-shape/src/curve/linearClosed.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _noop_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/noop.js');
            function LinearClosed(context) {
                this._context = context;
            }
            LinearClosed.prototype = {
                areaStart: _noop_js__WEBPACK_IMPORTED_MODULE_0__['default'],
                areaEnd: _noop_js__WEBPACK_IMPORTED_MODULE_0__['default'],
                lineStart: function () {
                    this._point = 0;
                },
                lineEnd: function () {
                    if (this._point)
                        this._context.closePath();
                },
                point: function (x, y) {
                    x = +x, y = +y;
                    if (this._point)
                        this._context.lineTo(x, y);
                    else
                        this._point = 1, this._context.moveTo(x, y);
                }
            };
            __webpack_exports__['default'] = function (context) {
                return new LinearClosed(context);
            };
        },
        './node_modules/d3-shape/src/curve/monotone.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'monotoneX', function () {
                return monotoneX;
            });
            __webpack_require__.d(__webpack_exports__, 'monotoneY', function () {
                return monotoneY;
            });
            function sign(x) {
                return x < 0 ? -1 : 1;
            }
            function slope3(that, x2, y2) {
                var h0 = that._x1 - that._x0, h1 = x2 - that._x1, s0 = (that._y1 - that._y0) / (h0 || h1 < 0 && -0), s1 = (y2 - that._y1) / (h1 || h0 < 0 && -0), p = (s0 * h1 + s1 * h0) / (h0 + h1);
                return (sign(s0) + sign(s1)) * Math.min(Math.abs(s0), Math.abs(s1), 0.5 * Math.abs(p)) || 0;
            }
            function slope2(that, t) {
                var h = that._x1 - that._x0;
                return h ? (3 * (that._y1 - that._y0) / h - t) / 2 : t;
            }
            function point(that, t0, t1) {
                var x0 = that._x0, y0 = that._y0, x1 = that._x1, y1 = that._y1, dx = (x1 - x0) / 3;
                that._context.bezierCurveTo(x0 + dx, y0 + dx * t0, x1 - dx, y1 - dx * t1, x1, y1);
            }
            function MonotoneX(context) {
                this._context = context;
            }
            MonotoneX.prototype = {
                areaStart: function () {
                    this._line = 0;
                },
                areaEnd: function () {
                    this._line = NaN;
                },
                lineStart: function () {
                    this._x0 = this._x1 = this._y0 = this._y1 = this._t0 = NaN;
                    this._point = 0;
                },
                lineEnd: function () {
                    switch (this._point) {
                    case 2:
                        this._context.lineTo(this._x1, this._y1);
                        break;
                    case 3:
                        point(this, this._t0, slope2(this, this._t0));
                        break;
                    }
                    if (this._line || this._line !== 0 && this._point === 1)
                        this._context.closePath();
                    this._line = 1 - this._line;
                },
                point: function (x, y) {
                    var t1 = NaN;
                    x = +x, y = +y;
                    if (x === this._x1 && y === this._y1)
                        return;
                    switch (this._point) {
                    case 0:
                        this._point = 1;
                        this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);
                        break;
                    case 1:
                        this._point = 2;
                        break;
                    case 2:
                        this._point = 3;
                        point(this, slope2(this, t1 = slope3(this, x, y)), t1);
                        break;
                    default:
                        point(this, this._t0, t1 = slope3(this, x, y));
                        break;
                    }
                    this._x0 = this._x1, this._x1 = x;
                    this._y0 = this._y1, this._y1 = y;
                    this._t0 = t1;
                }
            };
            function MonotoneY(context) {
                this._context = new ReflectContext(context);
            }
            (MonotoneY.prototype = Object.create(MonotoneX.prototype)).point = function (x, y) {
                MonotoneX.prototype.point.call(this, y, x);
            };
            function ReflectContext(context) {
                this._context = context;
            }
            ReflectContext.prototype = {
                moveTo: function (x, y) {
                    this._context.moveTo(y, x);
                },
                closePath: function () {
                    this._context.closePath();
                },
                lineTo: function (x, y) {
                    this._context.lineTo(y, x);
                },
                bezierCurveTo: function (x1, y1, x2, y2, x, y) {
                    this._context.bezierCurveTo(y1, x1, y2, x2, y, x);
                }
            };
            function monotoneX(context) {
                return new MonotoneX(context);
            }
            function monotoneY(context) {
                return new MonotoneY(context);
            }
        },
        './node_modules/d3-shape/src/curve/natural.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function Natural(context) {
                this._context = context;
            }
            Natural.prototype = {
                areaStart: function () {
                    this._line = 0;
                },
                areaEnd: function () {
                    this._line = NaN;
                },
                lineStart: function () {
                    this._x = [];
                    this._y = [];
                },
                lineEnd: function () {
                    var x = this._x, y = this._y, n = x.length;
                    if (n) {
                        this._line ? this._context.lineTo(x[0], y[0]) : this._context.moveTo(x[0], y[0]);
                        if (n === 2) {
                            this._context.lineTo(x[1], y[1]);
                        } else {
                            var px = controlPoints(x), py = controlPoints(y);
                            for (var i0 = 0, i1 = 1; i1 < n; ++i0, ++i1) {
                                this._context.bezierCurveTo(px[0][i0], py[0][i0], px[1][i0], py[1][i0], x[i1], y[i1]);
                            }
                        }
                    }
                    if (this._line || this._line !== 0 && n === 1)
                        this._context.closePath();
                    this._line = 1 - this._line;
                    this._x = this._y = null;
                },
                point: function (x, y) {
                    this._x.push(+x);
                    this._y.push(+y);
                }
            };
            function controlPoints(x) {
                var i, n = x.length - 1, m, a = new Array(n), b = new Array(n), r = new Array(n);
                a[0] = 0, b[0] = 2, r[0] = x[0] + 2 * x[1];
                for (i = 1; i < n - 1; ++i)
                    a[i] = 1, b[i] = 4, r[i] = 4 * x[i] + 2 * x[i + 1];
                a[n - 1] = 2, b[n - 1] = 7, r[n - 1] = 8 * x[n - 1] + x[n];
                for (i = 1; i < n; ++i)
                    m = a[i] / b[i - 1], b[i] -= m, r[i] -= m * r[i - 1];
                a[n - 1] = r[n - 1] / b[n - 1];
                for (i = n - 2; i >= 0; --i)
                    a[i] = (r[i] - a[i + 1]) / b[i];
                b[n - 1] = (x[n] + a[n - 1]) / 2;
                for (i = 0; i < n - 1; ++i)
                    b[i] = 2 * x[i + 1] - a[i + 1];
                return [
                    a,
                    b
                ];
            }
            __webpack_exports__['default'] = function (context) {
                return new Natural(context);
            };
        },
        './node_modules/d3-shape/src/curve/radial.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'curveRadialLinear', function () {
                return curveRadialLinear;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return curveRadial;
            });
            var _linear_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/curve/linear.js');
            var curveRadialLinear = curveRadial(_linear_js__WEBPACK_IMPORTED_MODULE_0__['default']);
            function Radial(curve) {
                this._curve = curve;
            }
            Radial.prototype = {
                areaStart: function () {
                    this._curve.areaStart();
                },
                areaEnd: function () {
                    this._curve.areaEnd();
                },
                lineStart: function () {
                    this._curve.lineStart();
                },
                lineEnd: function () {
                    this._curve.lineEnd();
                },
                point: function (a, r) {
                    this._curve.point(r * Math.sin(a), r * -Math.cos(a));
                }
            };
            function curveRadial(curve) {
                function radial(context) {
                    return new Radial(curve(context));
                }
                radial._curve = curve;
                return radial;
            }
        },
        './node_modules/d3-shape/src/curve/step.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'stepBefore', function () {
                return stepBefore;
            });
            __webpack_require__.d(__webpack_exports__, 'stepAfter', function () {
                return stepAfter;
            });
            function Step(context, t) {
                this._context = context;
                this._t = t;
            }
            Step.prototype = {
                areaStart: function () {
                    this._line = 0;
                },
                areaEnd: function () {
                    this._line = NaN;
                },
                lineStart: function () {
                    this._x = this._y = NaN;
                    this._point = 0;
                },
                lineEnd: function () {
                    if (0 < this._t && this._t < 1 && this._point === 2)
                        this._context.lineTo(this._x, this._y);
                    if (this._line || this._line !== 0 && this._point === 1)
                        this._context.closePath();
                    if (this._line >= 0)
                        this._t = 1 - this._t, this._line = 1 - this._line;
                },
                point: function (x, y) {
                    x = +x, y = +y;
                    switch (this._point) {
                    case 0:
                        this._point = 1;
                        this._line ? this._context.lineTo(x, y) : this._context.moveTo(x, y);
                        break;
                    case 1:
                        this._point = 2;
                    default: {
                            if (this._t <= 0) {
                                this._context.lineTo(this._x, y);
                                this._context.lineTo(x, y);
                            } else {
                                var x1 = this._x * (1 - this._t) + x * this._t;
                                this._context.lineTo(x1, this._y);
                                this._context.lineTo(x1, y);
                            }
                            break;
                        }
                    }
                    this._x = x, this._y = y;
                }
            };
            __webpack_exports__['default'] = function (context) {
                return new Step(context, 0.5);
            };
            function stepBefore(context) {
                return new Step(context, 0);
            }
            function stepAfter(context) {
                return new Step(context, 1);
            }
        },
        './node_modules/d3-shape/src/descending.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (a, b) {
                return b < a ? -1 : b > a ? 1 : b >= a ? 0 : NaN;
            };
        },
        './node_modules/d3-shape/src/identity.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (d) {
                return d;
            };
        },
        './node_modules/d3-shape/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _arc_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/arc.js');
            __webpack_require__.d(__webpack_exports__, 'arc', function () {
                return _arc_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _area_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-shape/src/area.js');
            __webpack_require__.d(__webpack_exports__, 'area', function () {
                return _area_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _line_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-shape/src/line.js');
            __webpack_require__.d(__webpack_exports__, 'line', function () {
                return _line_js__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            var _pie_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-shape/src/pie.js');
            __webpack_require__.d(__webpack_exports__, 'pie', function () {
                return _pie_js__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
            var _areaRadial_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-shape/src/areaRadial.js');
            __webpack_require__.d(__webpack_exports__, 'areaRadial', function () {
                return _areaRadial_js__WEBPACK_IMPORTED_MODULE_4__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'radialArea', function () {
                return _areaRadial_js__WEBPACK_IMPORTED_MODULE_4__['default'];
            });
            var _lineRadial_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-shape/src/lineRadial.js');
            __webpack_require__.d(__webpack_exports__, 'lineRadial', function () {
                return _lineRadial_js__WEBPACK_IMPORTED_MODULE_5__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'radialLine', function () {
                return _lineRadial_js__WEBPACK_IMPORTED_MODULE_5__['default'];
            });
            var _pointRadial_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-shape/src/pointRadial.js');
            __webpack_require__.d(__webpack_exports__, 'pointRadial', function () {
                return _pointRadial_js__WEBPACK_IMPORTED_MODULE_6__['default'];
            });
            var _link_index_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-shape/src/link/index.js');
            __webpack_require__.d(__webpack_exports__, 'linkHorizontal', function () {
                return _link_index_js__WEBPACK_IMPORTED_MODULE_7__['linkHorizontal'];
            });
            __webpack_require__.d(__webpack_exports__, 'linkVertical', function () {
                return _link_index_js__WEBPACK_IMPORTED_MODULE_7__['linkVertical'];
            });
            __webpack_require__.d(__webpack_exports__, 'linkRadial', function () {
                return _link_index_js__WEBPACK_IMPORTED_MODULE_7__['linkRadial'];
            });
            var _symbol_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-shape/src/symbol.js');
            __webpack_require__.d(__webpack_exports__, 'symbol', function () {
                return _symbol_js__WEBPACK_IMPORTED_MODULE_8__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'symbols', function () {
                return _symbol_js__WEBPACK_IMPORTED_MODULE_8__['symbols'];
            });
            var _symbol_circle_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__('./node_modules/d3-shape/src/symbol/circle.js');
            __webpack_require__.d(__webpack_exports__, 'symbolCircle', function () {
                return _symbol_circle_js__WEBPACK_IMPORTED_MODULE_9__['default'];
            });
            var _symbol_cross_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__('./node_modules/d3-shape/src/symbol/cross.js');
            __webpack_require__.d(__webpack_exports__, 'symbolCross', function () {
                return _symbol_cross_js__WEBPACK_IMPORTED_MODULE_10__['default'];
            });
            var _symbol_diamond_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__('./node_modules/d3-shape/src/symbol/diamond.js');
            __webpack_require__.d(__webpack_exports__, 'symbolDiamond', function () {
                return _symbol_diamond_js__WEBPACK_IMPORTED_MODULE_11__['default'];
            });
            var _symbol_square_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__('./node_modules/d3-shape/src/symbol/square.js');
            __webpack_require__.d(__webpack_exports__, 'symbolSquare', function () {
                return _symbol_square_js__WEBPACK_IMPORTED_MODULE_12__['default'];
            });
            var _symbol_star_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__('./node_modules/d3-shape/src/symbol/star.js');
            __webpack_require__.d(__webpack_exports__, 'symbolStar', function () {
                return _symbol_star_js__WEBPACK_IMPORTED_MODULE_13__['default'];
            });
            var _symbol_triangle_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__('./node_modules/d3-shape/src/symbol/triangle.js');
            __webpack_require__.d(__webpack_exports__, 'symbolTriangle', function () {
                return _symbol_triangle_js__WEBPACK_IMPORTED_MODULE_14__['default'];
            });
            var _symbol_wye_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__('./node_modules/d3-shape/src/symbol/wye.js');
            __webpack_require__.d(__webpack_exports__, 'symbolWye', function () {
                return _symbol_wye_js__WEBPACK_IMPORTED_MODULE_15__['default'];
            });
            var _curve_basisClosed_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__('./node_modules/d3-shape/src/curve/basisClosed.js');
            __webpack_require__.d(__webpack_exports__, 'curveBasisClosed', function () {
                return _curve_basisClosed_js__WEBPACK_IMPORTED_MODULE_16__['default'];
            });
            var _curve_basisOpen_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__('./node_modules/d3-shape/src/curve/basisOpen.js');
            __webpack_require__.d(__webpack_exports__, 'curveBasisOpen', function () {
                return _curve_basisOpen_js__WEBPACK_IMPORTED_MODULE_17__['default'];
            });
            var _curve_basis_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__('./node_modules/d3-shape/src/curve/basis.js');
            __webpack_require__.d(__webpack_exports__, 'curveBasis', function () {
                return _curve_basis_js__WEBPACK_IMPORTED_MODULE_18__['default'];
            });
            var _curve_bundle_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__('./node_modules/d3-shape/src/curve/bundle.js');
            __webpack_require__.d(__webpack_exports__, 'curveBundle', function () {
                return _curve_bundle_js__WEBPACK_IMPORTED_MODULE_19__['default'];
            });
            var _curve_cardinalClosed_js__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__('./node_modules/d3-shape/src/curve/cardinalClosed.js');
            __webpack_require__.d(__webpack_exports__, 'curveCardinalClosed', function () {
                return _curve_cardinalClosed_js__WEBPACK_IMPORTED_MODULE_20__['default'];
            });
            var _curve_cardinalOpen_js__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__('./node_modules/d3-shape/src/curve/cardinalOpen.js');
            __webpack_require__.d(__webpack_exports__, 'curveCardinalOpen', function () {
                return _curve_cardinalOpen_js__WEBPACK_IMPORTED_MODULE_21__['default'];
            });
            var _curve_cardinal_js__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__('./node_modules/d3-shape/src/curve/cardinal.js');
            __webpack_require__.d(__webpack_exports__, 'curveCardinal', function () {
                return _curve_cardinal_js__WEBPACK_IMPORTED_MODULE_22__['default'];
            });
            var _curve_catmullRomClosed_js__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__('./node_modules/d3-shape/src/curve/catmullRomClosed.js');
            __webpack_require__.d(__webpack_exports__, 'curveCatmullRomClosed', function () {
                return _curve_catmullRomClosed_js__WEBPACK_IMPORTED_MODULE_23__['default'];
            });
            var _curve_catmullRomOpen_js__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__('./node_modules/d3-shape/src/curve/catmullRomOpen.js');
            __webpack_require__.d(__webpack_exports__, 'curveCatmullRomOpen', function () {
                return _curve_catmullRomOpen_js__WEBPACK_IMPORTED_MODULE_24__['default'];
            });
            var _curve_catmullRom_js__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__('./node_modules/d3-shape/src/curve/catmullRom.js');
            __webpack_require__.d(__webpack_exports__, 'curveCatmullRom', function () {
                return _curve_catmullRom_js__WEBPACK_IMPORTED_MODULE_25__['default'];
            });
            var _curve_linearClosed_js__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__('./node_modules/d3-shape/src/curve/linearClosed.js');
            __webpack_require__.d(__webpack_exports__, 'curveLinearClosed', function () {
                return _curve_linearClosed_js__WEBPACK_IMPORTED_MODULE_26__['default'];
            });
            var _curve_linear_js__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__('./node_modules/d3-shape/src/curve/linear.js');
            __webpack_require__.d(__webpack_exports__, 'curveLinear', function () {
                return _curve_linear_js__WEBPACK_IMPORTED_MODULE_27__['default'];
            });
            var _curve_monotone_js__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__('./node_modules/d3-shape/src/curve/monotone.js');
            __webpack_require__.d(__webpack_exports__, 'curveMonotoneX', function () {
                return _curve_monotone_js__WEBPACK_IMPORTED_MODULE_28__['monotoneX'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveMonotoneY', function () {
                return _curve_monotone_js__WEBPACK_IMPORTED_MODULE_28__['monotoneY'];
            });
            var _curve_natural_js__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__('./node_modules/d3-shape/src/curve/natural.js');
            __webpack_require__.d(__webpack_exports__, 'curveNatural', function () {
                return _curve_natural_js__WEBPACK_IMPORTED_MODULE_29__['default'];
            });
            var _curve_step_js__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__('./node_modules/d3-shape/src/curve/step.js');
            __webpack_require__.d(__webpack_exports__, 'curveStep', function () {
                return _curve_step_js__WEBPACK_IMPORTED_MODULE_30__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveStepAfter', function () {
                return _curve_step_js__WEBPACK_IMPORTED_MODULE_30__['stepAfter'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveStepBefore', function () {
                return _curve_step_js__WEBPACK_IMPORTED_MODULE_30__['stepBefore'];
            });
            var _stack_js__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__('./node_modules/d3-shape/src/stack.js');
            __webpack_require__.d(__webpack_exports__, 'stack', function () {
                return _stack_js__WEBPACK_IMPORTED_MODULE_31__['default'];
            });
            var _offset_expand_js__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__('./node_modules/d3-shape/src/offset/expand.js');
            __webpack_require__.d(__webpack_exports__, 'stackOffsetExpand', function () {
                return _offset_expand_js__WEBPACK_IMPORTED_MODULE_32__['default'];
            });
            var _offset_diverging_js__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__('./node_modules/d3-shape/src/offset/diverging.js');
            __webpack_require__.d(__webpack_exports__, 'stackOffsetDiverging', function () {
                return _offset_diverging_js__WEBPACK_IMPORTED_MODULE_33__['default'];
            });
            var _offset_none_js__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__('./node_modules/d3-shape/src/offset/none.js');
            __webpack_require__.d(__webpack_exports__, 'stackOffsetNone', function () {
                return _offset_none_js__WEBPACK_IMPORTED_MODULE_34__['default'];
            });
            var _offset_silhouette_js__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__('./node_modules/d3-shape/src/offset/silhouette.js');
            __webpack_require__.d(__webpack_exports__, 'stackOffsetSilhouette', function () {
                return _offset_silhouette_js__WEBPACK_IMPORTED_MODULE_35__['default'];
            });
            var _offset_wiggle_js__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__('./node_modules/d3-shape/src/offset/wiggle.js');
            __webpack_require__.d(__webpack_exports__, 'stackOffsetWiggle', function () {
                return _offset_wiggle_js__WEBPACK_IMPORTED_MODULE_36__['default'];
            });
            var _order_appearance_js__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__('./node_modules/d3-shape/src/order/appearance.js');
            __webpack_require__.d(__webpack_exports__, 'stackOrderAppearance', function () {
                return _order_appearance_js__WEBPACK_IMPORTED_MODULE_37__['default'];
            });
            var _order_ascending_js__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__('./node_modules/d3-shape/src/order/ascending.js');
            __webpack_require__.d(__webpack_exports__, 'stackOrderAscending', function () {
                return _order_ascending_js__WEBPACK_IMPORTED_MODULE_38__['default'];
            });
            var _order_descending_js__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__('./node_modules/d3-shape/src/order/descending.js');
            __webpack_require__.d(__webpack_exports__, 'stackOrderDescending', function () {
                return _order_descending_js__WEBPACK_IMPORTED_MODULE_39__['default'];
            });
            var _order_insideOut_js__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__('./node_modules/d3-shape/src/order/insideOut.js');
            __webpack_require__.d(__webpack_exports__, 'stackOrderInsideOut', function () {
                return _order_insideOut_js__WEBPACK_IMPORTED_MODULE_40__['default'];
            });
            var _order_none_js__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__('./node_modules/d3-shape/src/order/none.js');
            __webpack_require__.d(__webpack_exports__, 'stackOrderNone', function () {
                return _order_none_js__WEBPACK_IMPORTED_MODULE_41__['default'];
            });
            var _order_reverse_js__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__('./node_modules/d3-shape/src/order/reverse.js');
            __webpack_require__.d(__webpack_exports__, 'stackOrderReverse', function () {
                return _order_reverse_js__WEBPACK_IMPORTED_MODULE_42__['default'];
            });
        },
        './node_modules/d3-shape/src/line.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-path/src/index.js');
            var _constant_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-shape/src/constant.js');
            var _curve_linear_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-shape/src/curve/linear.js');
            var _point_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-shape/src/point.js');
            __webpack_exports__['default'] = function () {
                var x = _point_js__WEBPACK_IMPORTED_MODULE_3__['x'], y = _point_js__WEBPACK_IMPORTED_MODULE_3__['y'], defined = Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(true), context = null, curve = _curve_linear_js__WEBPACK_IMPORTED_MODULE_2__['default'], output = null;
                function line(data) {
                    var i, n = data.length, d, defined0 = false, buffer;
                    if (context == null)
                        output = curve(buffer = Object(d3_path__WEBPACK_IMPORTED_MODULE_0__['path'])());
                    for (i = 0; i <= n; ++i) {
                        if (!(i < n && defined(d = data[i], i, data)) === defined0) {
                            if (defined0 = !defined0)
                                output.lineStart();
                            else
                                output.lineEnd();
                        }
                        if (defined0)
                            output.point(+x(d, i, data), +y(d, i, data));
                    }
                    if (buffer)
                        return output = null, buffer + '' || null;
                }
                line.x = function (_) {
                    return arguments.length ? (x = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), line) : x;
                };
                line.y = function (_) {
                    return arguments.length ? (y = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), line) : y;
                };
                line.defined = function (_) {
                    return arguments.length ? (defined = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(!!_), line) : defined;
                };
                line.curve = function (_) {
                    return arguments.length ? (curve = _, context != null && (output = curve(context)), line) : curve;
                };
                line.context = function (_) {
                    return arguments.length ? (_ == null ? context = output = null : output = curve(context = _), line) : context;
                };
                return line;
            };
        },
        './node_modules/d3-shape/src/lineRadial.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'lineRadial', function () {
                return lineRadial;
            });
            var _curve_radial_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/curve/radial.js');
            var _line_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-shape/src/line.js');
            function lineRadial(l) {
                var c = l.curve;
                l.angle = l.x, delete l.x;
                l.radius = l.y, delete l.y;
                l.curve = function (_) {
                    return arguments.length ? c(Object(_curve_radial_js__WEBPACK_IMPORTED_MODULE_0__['default'])(_)) : c()._curve;
                };
                return l;
            }
            __webpack_exports__['default'] = function () {
                return lineRadial(Object(_line_js__WEBPACK_IMPORTED_MODULE_1__['default'])().curve(_curve_radial_js__WEBPACK_IMPORTED_MODULE_0__['curveRadialLinear']));
            };
        },
        './node_modules/d3-shape/src/link/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'linkHorizontal', function () {
                return linkHorizontal;
            });
            __webpack_require__.d(__webpack_exports__, 'linkVertical', function () {
                return linkVertical;
            });
            __webpack_require__.d(__webpack_exports__, 'linkRadial', function () {
                return linkRadial;
            });
            var d3_path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-path/src/index.js');
            var _array_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-shape/src/array.js');
            var _constant_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-shape/src/constant.js');
            var _point_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-shape/src/point.js');
            var _pointRadial_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-shape/src/pointRadial.js');
            function linkSource(d) {
                return d.source;
            }
            function linkTarget(d) {
                return d.target;
            }
            function link(curve) {
                var source = linkSource, target = linkTarget, x = _point_js__WEBPACK_IMPORTED_MODULE_3__['x'], y = _point_js__WEBPACK_IMPORTED_MODULE_3__['y'], context = null;
                function link() {
                    var buffer, argv = _array_js__WEBPACK_IMPORTED_MODULE_1__['slice'].call(arguments), s = source.apply(this, argv), t = target.apply(this, argv);
                    if (!context)
                        context = buffer = Object(d3_path__WEBPACK_IMPORTED_MODULE_0__['path'])();
                    curve(context, +x.apply(this, (argv[0] = s, argv)), +y.apply(this, argv), +x.apply(this, (argv[0] = t, argv)), +y.apply(this, argv));
                    if (buffer)
                        return context = null, buffer + '' || null;
                }
                link.source = function (_) {
                    return arguments.length ? (source = _, link) : source;
                };
                link.target = function (_) {
                    return arguments.length ? (target = _, link) : target;
                };
                link.x = function (_) {
                    return arguments.length ? (x = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_2__['default'])(+_), link) : x;
                };
                link.y = function (_) {
                    return arguments.length ? (y = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_2__['default'])(+_), link) : y;
                };
                link.context = function (_) {
                    return arguments.length ? (context = _ == null ? null : _, link) : context;
                };
                return link;
            }
            function curveHorizontal(context, x0, y0, x1, y1) {
                context.moveTo(x0, y0);
                context.bezierCurveTo(x0 = (x0 + x1) / 2, y0, x0, y1, x1, y1);
            }
            function curveVertical(context, x0, y0, x1, y1) {
                context.moveTo(x0, y0);
                context.bezierCurveTo(x0, y0 = (y0 + y1) / 2, x1, y0, x1, y1);
            }
            function curveRadial(context, x0, y0, x1, y1) {
                var p0 = Object(_pointRadial_js__WEBPACK_IMPORTED_MODULE_4__['default'])(x0, y0), p1 = Object(_pointRadial_js__WEBPACK_IMPORTED_MODULE_4__['default'])(x0, y0 = (y0 + y1) / 2), p2 = Object(_pointRadial_js__WEBPACK_IMPORTED_MODULE_4__['default'])(x1, y0), p3 = Object(_pointRadial_js__WEBPACK_IMPORTED_MODULE_4__['default'])(x1, y1);
                context.moveTo(p0[0], p0[1]);
                context.bezierCurveTo(p1[0], p1[1], p2[0], p2[1], p3[0], p3[1]);
            }
            function linkHorizontal() {
                return link(curveHorizontal);
            }
            function linkVertical() {
                return link(curveVertical);
            }
            function linkRadial() {
                var l = link(curveRadial);
                l.angle = l.x, delete l.x;
                l.radius = l.y, delete l.y;
                return l;
            }
        },
        './node_modules/d3-shape/src/math.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'abs', function () {
                return abs;
            });
            __webpack_require__.d(__webpack_exports__, 'atan2', function () {
                return atan2;
            });
            __webpack_require__.d(__webpack_exports__, 'cos', function () {
                return cos;
            });
            __webpack_require__.d(__webpack_exports__, 'max', function () {
                return max;
            });
            __webpack_require__.d(__webpack_exports__, 'min', function () {
                return min;
            });
            __webpack_require__.d(__webpack_exports__, 'sin', function () {
                return sin;
            });
            __webpack_require__.d(__webpack_exports__, 'sqrt', function () {
                return sqrt;
            });
            __webpack_require__.d(__webpack_exports__, 'epsilon', function () {
                return epsilon;
            });
            __webpack_require__.d(__webpack_exports__, 'pi', function () {
                return pi;
            });
            __webpack_require__.d(__webpack_exports__, 'halfPi', function () {
                return halfPi;
            });
            __webpack_require__.d(__webpack_exports__, 'tau', function () {
                return tau;
            });
            __webpack_require__.d(__webpack_exports__, 'acos', function () {
                return acos;
            });
            __webpack_require__.d(__webpack_exports__, 'asin', function () {
                return asin;
            });
            var abs = Math.abs;
            var atan2 = Math.atan2;
            var cos = Math.cos;
            var max = Math.max;
            var min = Math.min;
            var sin = Math.sin;
            var sqrt = Math.sqrt;
            var epsilon = 1e-12;
            var pi = Math.PI;
            var halfPi = pi / 2;
            var tau = 2 * pi;
            function acos(x) {
                return x > 1 ? 0 : x < -1 ? pi : Math.acos(x);
            }
            function asin(x) {
                return x >= 1 ? halfPi : x <= -1 ? -halfPi : Math.asin(x);
            }
        },
        './node_modules/d3-shape/src/noop.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function () {
            };
        },
        './node_modules/d3-shape/src/offset/diverging.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (series, order) {
                if (!((n = series.length) > 0))
                    return;
                for (var i, j = 0, d, dy, yp, yn, n, m = series[order[0]].length; j < m; ++j) {
                    for (yp = yn = 0, i = 0; i < n; ++i) {
                        if ((dy = (d = series[order[i]][j])[1] - d[0]) > 0) {
                            d[0] = yp, d[1] = yp += dy;
                        } else if (dy < 0) {
                            d[1] = yn, d[0] = yn += dy;
                        } else {
                            d[0] = 0, d[1] = dy;
                        }
                    }
                }
            };
        },
        './node_modules/d3-shape/src/offset/expand.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _none_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/offset/none.js');
            __webpack_exports__['default'] = function (series, order) {
                if (!((n = series.length) > 0))
                    return;
                for (var i, n, j = 0, m = series[0].length, y; j < m; ++j) {
                    for (y = i = 0; i < n; ++i)
                        y += series[i][j][1] || 0;
                    if (y)
                        for (i = 0; i < n; ++i)
                            series[i][j][1] /= y;
                }
                Object(_none_js__WEBPACK_IMPORTED_MODULE_0__['default'])(series, order);
            };
        },
        './node_modules/d3-shape/src/offset/none.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (series, order) {
                if (!((n = series.length) > 1))
                    return;
                for (var i = 1, j, s0, s1 = series[order[0]], n, m = s1.length; i < n; ++i) {
                    s0 = s1, s1 = series[order[i]];
                    for (j = 0; j < m; ++j) {
                        s1[j][1] += s1[j][0] = isNaN(s0[j][1]) ? s0[j][0] : s0[j][1];
                    }
                }
            };
        },
        './node_modules/d3-shape/src/offset/silhouette.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _none_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/offset/none.js');
            __webpack_exports__['default'] = function (series, order) {
                if (!((n = series.length) > 0))
                    return;
                for (var j = 0, s0 = series[order[0]], n, m = s0.length; j < m; ++j) {
                    for (var i = 0, y = 0; i < n; ++i)
                        y += series[i][j][1] || 0;
                    s0[j][1] += s0[j][0] = -y / 2;
                }
                Object(_none_js__WEBPACK_IMPORTED_MODULE_0__['default'])(series, order);
            };
        },
        './node_modules/d3-shape/src/offset/wiggle.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _none_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/offset/none.js');
            __webpack_exports__['default'] = function (series, order) {
                if (!((n = series.length) > 0) || !((m = (s0 = series[order[0]]).length) > 0))
                    return;
                for (var y = 0, j = 1, s0, m, n; j < m; ++j) {
                    for (var i = 0, s1 = 0, s2 = 0; i < n; ++i) {
                        var si = series[order[i]], sij0 = si[j][1] || 0, sij1 = si[j - 1][1] || 0, s3 = (sij0 - sij1) / 2;
                        for (var k = 0; k < i; ++k) {
                            var sk = series[order[k]], skj0 = sk[j][1] || 0, skj1 = sk[j - 1][1] || 0;
                            s3 += skj0 - skj1;
                        }
                        s1 += sij0, s2 += s3 * sij0;
                    }
                    s0[j - 1][1] += s0[j - 1][0] = y;
                    if (s1)
                        y -= s2 / s1;
                }
                s0[j - 1][1] += s0[j - 1][0] = y;
                Object(_none_js__WEBPACK_IMPORTED_MODULE_0__['default'])(series, order);
            };
        },
        './node_modules/d3-shape/src/order/appearance.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _none_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/order/none.js');
            __webpack_exports__['default'] = function (series) {
                var peaks = series.map(peak);
                return Object(_none_js__WEBPACK_IMPORTED_MODULE_0__['default'])(series).sort(function (a, b) {
                    return peaks[a] - peaks[b];
                });
            };
            function peak(series) {
                var i = -1, j = 0, n = series.length, vi, vj = -Infinity;
                while (++i < n)
                    if ((vi = +series[i][1]) > vj)
                        vj = vi, j = i;
                return j;
            }
        },
        './node_modules/d3-shape/src/order/ascending.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'sum', function () {
                return sum;
            });
            var _none_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/order/none.js');
            __webpack_exports__['default'] = function (series) {
                var sums = series.map(sum);
                return Object(_none_js__WEBPACK_IMPORTED_MODULE_0__['default'])(series).sort(function (a, b) {
                    return sums[a] - sums[b];
                });
            };
            function sum(series) {
                var s = 0, i = -1, n = series.length, v;
                while (++i < n)
                    if (v = +series[i][1])
                        s += v;
                return s;
            }
        },
        './node_modules/d3-shape/src/order/descending.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _ascending_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/order/ascending.js');
            __webpack_exports__['default'] = function (series) {
                return Object(_ascending_js__WEBPACK_IMPORTED_MODULE_0__['default'])(series).reverse();
            };
        },
        './node_modules/d3-shape/src/order/insideOut.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _appearance_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/order/appearance.js');
            var _ascending_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-shape/src/order/ascending.js');
            __webpack_exports__['default'] = function (series) {
                var n = series.length, i, j, sums = series.map(_ascending_js__WEBPACK_IMPORTED_MODULE_1__['sum']), order = Object(_appearance_js__WEBPACK_IMPORTED_MODULE_0__['default'])(series), top = 0, bottom = 0, tops = [], bottoms = [];
                for (i = 0; i < n; ++i) {
                    j = order[i];
                    if (top < bottom) {
                        top += sums[j];
                        tops.push(j);
                    } else {
                        bottom += sums[j];
                        bottoms.push(j);
                    }
                }
                return bottoms.reverse().concat(tops);
            };
        },
        './node_modules/d3-shape/src/order/none.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (series) {
                var n = series.length, o = new Array(n);
                while (--n >= 0)
                    o[n] = n;
                return o;
            };
        },
        './node_modules/d3-shape/src/order/reverse.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _none_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/order/none.js');
            __webpack_exports__['default'] = function (series) {
                return Object(_none_js__WEBPACK_IMPORTED_MODULE_0__['default'])(series).reverse();
            };
        },
        './node_modules/d3-shape/src/pie.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _constant_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/constant.js');
            var _descending_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-shape/src/descending.js');
            var _identity_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-shape/src/identity.js');
            var _math_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-shape/src/math.js');
            __webpack_exports__['default'] = function () {
                var value = _identity_js__WEBPACK_IMPORTED_MODULE_2__['default'], sortValues = _descending_js__WEBPACK_IMPORTED_MODULE_1__['default'], sort = null, startAngle = Object(_constant_js__WEBPACK_IMPORTED_MODULE_0__['default'])(0), endAngle = Object(_constant_js__WEBPACK_IMPORTED_MODULE_0__['default'])(_math_js__WEBPACK_IMPORTED_MODULE_3__['tau']), padAngle = Object(_constant_js__WEBPACK_IMPORTED_MODULE_0__['default'])(0);
                function pie(data) {
                    var i, n = data.length, j, k, sum = 0, index = new Array(n), arcs = new Array(n), a0 = +startAngle.apply(this, arguments), da = Math.min(_math_js__WEBPACK_IMPORTED_MODULE_3__['tau'], Math.max(-_math_js__WEBPACK_IMPORTED_MODULE_3__['tau'], endAngle.apply(this, arguments) - a0)), a1, p = Math.min(Math.abs(da) / n, padAngle.apply(this, arguments)), pa = p * (da < 0 ? -1 : 1), v;
                    for (i = 0; i < n; ++i) {
                        if ((v = arcs[index[i] = i] = +value(data[i], i, data)) > 0) {
                            sum += v;
                        }
                    }
                    if (sortValues != null)
                        index.sort(function (i, j) {
                            return sortValues(arcs[i], arcs[j]);
                        });
                    else if (sort != null)
                        index.sort(function (i, j) {
                            return sort(data[i], data[j]);
                        });
                    for (i = 0, k = sum ? (da - n * pa) / sum : 0; i < n; ++i, a0 = a1) {
                        j = index[i], v = arcs[j], a1 = a0 + (v > 0 ? v * k : 0) + pa, arcs[j] = {
                            data: data[j],
                            index: i,
                            value: v,
                            startAngle: a0,
                            endAngle: a1,
                            padAngle: p
                        };
                    }
                    return arcs;
                }
                pie.value = function (_) {
                    return arguments.length ? (value = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_0__['default'])(+_), pie) : value;
                };
                pie.sortValues = function (_) {
                    return arguments.length ? (sortValues = _, sort = null, pie) : sortValues;
                };
                pie.sort = function (_) {
                    return arguments.length ? (sort = _, sortValues = null, pie) : sort;
                };
                pie.startAngle = function (_) {
                    return arguments.length ? (startAngle = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_0__['default'])(+_), pie) : startAngle;
                };
                pie.endAngle = function (_) {
                    return arguments.length ? (endAngle = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_0__['default'])(+_), pie) : endAngle;
                };
                pie.padAngle = function (_) {
                    return arguments.length ? (padAngle = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_0__['default'])(+_), pie) : padAngle;
                };
                return pie;
            };
        },
        './node_modules/d3-shape/src/point.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'x', function () {
                return x;
            });
            __webpack_require__.d(__webpack_exports__, 'y', function () {
                return y;
            });
            function x(p) {
                return p[0];
            }
            function y(p) {
                return p[1];
            }
        },
        './node_modules/d3-shape/src/pointRadial.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x, y) {
                return [
                    (y = +y) * Math.cos(x -= Math.PI / 2),
                    y * Math.sin(x)
                ];
            };
        },
        './node_modules/d3-shape/src/stack.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _array_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/array.js');
            var _constant_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-shape/src/constant.js');
            var _offset_none_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-shape/src/offset/none.js');
            var _order_none_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-shape/src/order/none.js');
            function stackValue(d, key) {
                return d[key];
            }
            __webpack_exports__['default'] = function () {
                var keys = Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])([]), order = _order_none_js__WEBPACK_IMPORTED_MODULE_3__['default'], offset = _offset_none_js__WEBPACK_IMPORTED_MODULE_2__['default'], value = stackValue;
                function stack(data) {
                    var kz = keys.apply(this, arguments), i, m = data.length, n = kz.length, sz = new Array(n), oz;
                    for (i = 0; i < n; ++i) {
                        for (var ki = kz[i], si = sz[i] = new Array(m), j = 0, sij; j < m; ++j) {
                            si[j] = sij = [
                                0,
                                +value(data[j], ki, j, data)
                            ];
                            sij.data = data[j];
                        }
                        si.key = ki;
                    }
                    for (i = 0, oz = order(sz); i < n; ++i) {
                        sz[oz[i]].index = i;
                    }
                    offset(sz, oz);
                    return sz;
                }
                stack.keys = function (_) {
                    return arguments.length ? (keys = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(_array_js__WEBPACK_IMPORTED_MODULE_0__['slice'].call(_)), stack) : keys;
                };
                stack.value = function (_) {
                    return arguments.length ? (value = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(+_), stack) : value;
                };
                stack.order = function (_) {
                    return arguments.length ? (order = _ == null ? _order_none_js__WEBPACK_IMPORTED_MODULE_3__['default'] : typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_1__['default'])(_array_js__WEBPACK_IMPORTED_MODULE_0__['slice'].call(_)), stack) : order;
                };
                stack.offset = function (_) {
                    return arguments.length ? (offset = _ == null ? _offset_none_js__WEBPACK_IMPORTED_MODULE_2__['default'] : _, stack) : offset;
                };
                return stack;
            };
        },
        './node_modules/d3-shape/src/symbol.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'symbols', function () {
                return symbols;
            });
            var d3_path__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-path/src/index.js');
            var _symbol_circle_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-shape/src/symbol/circle.js');
            var _symbol_cross_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-shape/src/symbol/cross.js');
            var _symbol_diamond_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-shape/src/symbol/diamond.js');
            var _symbol_star_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-shape/src/symbol/star.js');
            var _symbol_square_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-shape/src/symbol/square.js');
            var _symbol_triangle_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-shape/src/symbol/triangle.js');
            var _symbol_wye_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-shape/src/symbol/wye.js');
            var _constant_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-shape/src/constant.js');
            var symbols = [
                _symbol_circle_js__WEBPACK_IMPORTED_MODULE_1__['default'],
                _symbol_cross_js__WEBPACK_IMPORTED_MODULE_2__['default'],
                _symbol_diamond_js__WEBPACK_IMPORTED_MODULE_3__['default'],
                _symbol_square_js__WEBPACK_IMPORTED_MODULE_5__['default'],
                _symbol_star_js__WEBPACK_IMPORTED_MODULE_4__['default'],
                _symbol_triangle_js__WEBPACK_IMPORTED_MODULE_6__['default'],
                _symbol_wye_js__WEBPACK_IMPORTED_MODULE_7__['default']
            ];
            __webpack_exports__['default'] = function () {
                var type = Object(_constant_js__WEBPACK_IMPORTED_MODULE_8__['default'])(_symbol_circle_js__WEBPACK_IMPORTED_MODULE_1__['default']), size = Object(_constant_js__WEBPACK_IMPORTED_MODULE_8__['default'])(64), context = null;
                function symbol() {
                    var buffer;
                    if (!context)
                        context = buffer = Object(d3_path__WEBPACK_IMPORTED_MODULE_0__['path'])();
                    type.apply(this, arguments).draw(context, +size.apply(this, arguments));
                    if (buffer)
                        return context = null, buffer + '' || null;
                }
                symbol.type = function (_) {
                    return arguments.length ? (type = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_8__['default'])(_), symbol) : type;
                };
                symbol.size = function (_) {
                    return arguments.length ? (size = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_8__['default'])(+_), symbol) : size;
                };
                symbol.context = function (_) {
                    return arguments.length ? (context = _ == null ? null : _, symbol) : context;
                };
                return symbol;
            };
        },
        './node_modules/d3-shape/src/symbol/circle.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/math.js');
            __webpack_exports__['default'] = {
                draw: function (context, size) {
                    var r = Math.sqrt(size / _math_js__WEBPACK_IMPORTED_MODULE_0__['pi']);
                    context.moveTo(r, 0);
                    context.arc(0, 0, r, 0, _math_js__WEBPACK_IMPORTED_MODULE_0__['tau']);
                }
            };
        },
        './node_modules/d3-shape/src/symbol/cross.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = {
                draw: function (context, size) {
                    var r = Math.sqrt(size / 5) / 2;
                    context.moveTo(-3 * r, -r);
                    context.lineTo(-r, -r);
                    context.lineTo(-r, -3 * r);
                    context.lineTo(r, -3 * r);
                    context.lineTo(r, -r);
                    context.lineTo(3 * r, -r);
                    context.lineTo(3 * r, r);
                    context.lineTo(r, r);
                    context.lineTo(r, 3 * r);
                    context.lineTo(-r, 3 * r);
                    context.lineTo(-r, r);
                    context.lineTo(-3 * r, r);
                    context.closePath();
                }
            };
        },
        './node_modules/d3-shape/src/symbol/diamond.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var tan30 = Math.sqrt(1 / 3), tan30_2 = tan30 * 2;
            __webpack_exports__['default'] = {
                draw: function (context, size) {
                    var y = Math.sqrt(size / tan30_2), x = y * tan30;
                    context.moveTo(0, -y);
                    context.lineTo(x, 0);
                    context.lineTo(0, y);
                    context.lineTo(-x, 0);
                    context.closePath();
                }
            };
        },
        './node_modules/d3-shape/src/symbol/square.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = {
                draw: function (context, size) {
                    var w = Math.sqrt(size), x = -w / 2;
                    context.rect(x, x, w, w);
                }
            };
        },
        './node_modules/d3-shape/src/symbol/star.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _math_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-shape/src/math.js');
            var ka = 0.8908130915292852, kr = Math.sin(_math_js__WEBPACK_IMPORTED_MODULE_0__['pi'] / 10) / Math.sin(7 * _math_js__WEBPACK_IMPORTED_MODULE_0__['pi'] / 10), kx = Math.sin(_math_js__WEBPACK_IMPORTED_MODULE_0__['tau'] / 10) * kr, ky = -Math.cos(_math_js__WEBPACK_IMPORTED_MODULE_0__['tau'] / 10) * kr;
            __webpack_exports__['default'] = {
                draw: function (context, size) {
                    var r = Math.sqrt(size * ka), x = kx * r, y = ky * r;
                    context.moveTo(0, -r);
                    context.lineTo(x, y);
                    for (var i = 1; i < 5; ++i) {
                        var a = _math_js__WEBPACK_IMPORTED_MODULE_0__['tau'] * i / 5, c = Math.cos(a), s = Math.sin(a);
                        context.lineTo(s * r, -c * r);
                        context.lineTo(c * x - s * y, s * x + c * y);
                    }
                    context.closePath();
                }
            };
        },
        './node_modules/d3-shape/src/symbol/triangle.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var sqrt3 = Math.sqrt(3);
            __webpack_exports__['default'] = {
                draw: function (context, size) {
                    var y = -Math.sqrt(size / (sqrt3 * 3));
                    context.moveTo(0, y * 2);
                    context.lineTo(-sqrt3 * y, -y);
                    context.lineTo(sqrt3 * y, -y);
                    context.closePath();
                }
            };
        },
        './node_modules/d3-shape/src/symbol/wye.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var c = -0.5, s = Math.sqrt(3) / 2, k = 1 / Math.sqrt(12), a = (k / 2 + 1) * 3;
            __webpack_exports__['default'] = {
                draw: function (context, size) {
                    var r = Math.sqrt(size / a), x0 = r / 2, y0 = r * k, x1 = x0, y1 = r * k + r, x2 = -x1, y2 = y1;
                    context.moveTo(x0, y0);
                    context.lineTo(x1, y1);
                    context.lineTo(x2, y2);
                    context.lineTo(c * x0 - s * y0, s * x0 + c * y0);
                    context.lineTo(c * x1 - s * y1, s * x1 + c * y1);
                    context.lineTo(c * x2 - s * y2, s * x2 + c * y2);
                    context.lineTo(c * x0 + s * y0, c * y0 - s * x0);
                    context.lineTo(c * x1 + s * y1, c * y1 - s * x1);
                    context.lineTo(c * x2 + s * y2, c * y2 - s * x2);
                    context.closePath();
                }
            };
        },
        './node_modules/d3-time-format/src/defaultLocale.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'timeFormat', function () {
                return timeFormat;
            });
            __webpack_require__.d(__webpack_exports__, 'timeParse', function () {
                return timeParse;
            });
            __webpack_require__.d(__webpack_exports__, 'utcFormat', function () {
                return utcFormat;
            });
            __webpack_require__.d(__webpack_exports__, 'utcParse', function () {
                return utcParse;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return defaultLocale;
            });
            var _locale_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./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 = Object(_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/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _defaultLocale_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time-format/src/defaultLocale.js');
            __webpack_require__.d(__webpack_exports__, 'timeFormatDefaultLocale', function () {
                return _defaultLocale_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeFormat', function () {
                return _defaultLocale_js__WEBPACK_IMPORTED_MODULE_0__['timeFormat'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeParse', function () {
                return _defaultLocale_js__WEBPACK_IMPORTED_MODULE_0__['timeParse'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcFormat', function () {
                return _defaultLocale_js__WEBPACK_IMPORTED_MODULE_0__['utcFormat'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcParse', function () {
                return _defaultLocale_js__WEBPACK_IMPORTED_MODULE_0__['utcParse'];
            });
            var _locale_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-time-format/src/locale.js');
            __webpack_require__.d(__webpack_exports__, 'timeFormatLocale', function () {
                return _locale_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _isoFormat_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-time-format/src/isoFormat.js');
            __webpack_require__.d(__webpack_exports__, 'isoFormat', function () {
                return _isoFormat_js__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            var _isoParse_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-time-format/src/isoParse.js');
            __webpack_require__.d(__webpack_exports__, 'isoParse', function () {
                return _isoParse_js__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
        },
        './node_modules/d3-time-format/src/isoFormat.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'isoSpecifier', function () {
                return isoSpecifier;
            });
            var _defaultLocale_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time-format/src/defaultLocale.js');
            var isoSpecifier = '%Y-%m-%dT%H:%M:%S.%LZ';
            function formatIsoNative(date) {
                return date.toISOString();
            }
            var formatIso = Date.prototype.toISOString ? formatIsoNative : Object(_defaultLocale_js__WEBPACK_IMPORTED_MODULE_0__['utcFormat'])(isoSpecifier);
            __webpack_exports__['default'] = formatIso;
        },
        './node_modules/d3-time-format/src/isoParse.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _isoFormat_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time-format/src/isoFormat.js');
            var _defaultLocale_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-time-format/src/defaultLocale.js');
            function parseIsoNative(string) {
                var date = new Date(string);
                return isNaN(date) ? null : date;
            }
            var parseIso = +new Date('2000-01-01T00:00:00.000Z') ? parseIsoNative : Object(_defaultLocale_js__WEBPACK_IMPORTED_MODULE_1__['utcParse'])(_isoFormat_js__WEBPACK_IMPORTED_MODULE_0__['isoSpecifier']);
            __webpack_exports__['default'] = parseIso;
        },
        './node_modules/d3-time-format/src/locale.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return formatLocale;
            });
            var d3_time__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time/src/index.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
                };
                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 ('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 (Z && !('Z' in d))
                            d.Z = 0;
                        if ('p' in d)
                            d.H = d.H % 12 + d.p * 12;
                        if (d.m === undefined)
                            d.m = 'q' in d ? d.q : 0;
                        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) : Object(d3_time__WEBPACK_IMPORTED_MODULE_0__['utcMonday'])(week);
                                week = d3_time__WEBPACK_IMPORTED_MODULE_0__['utcDay'].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_0__['timeMonday'].ceil(week) : Object(d3_time__WEBPACK_IMPORTED_MODULE_0__['timeMonday'])(week);
                                week = d3_time__WEBPACK_IMPORTED_MODULE_0__['timeDay'].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 ('Z' in d) {
                            d.H += d.Z / 100 | 0;
                            d.M += d.Z % 100;
                            return utcDate(d);
                        }
                        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+/, 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_0__['timeDay'].count(Object(d3_time__WEBPACK_IMPORTED_MODULE_0__['timeYear'])(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_0__['timeSunday'].count(Object(d3_time__WEBPACK_IMPORTED_MODULE_0__['timeYear'])(d) - 1, d), p, 2);
            }
            function dISO(d) {
                var day = d.getDay();
                return day >= 4 || day === 0 ? Object(d3_time__WEBPACK_IMPORTED_MODULE_0__['timeThursday'])(d) : d3_time__WEBPACK_IMPORTED_MODULE_0__['timeThursday'].ceil(d);
            }
            function formatWeekNumberISO(d, p) {
                d = dISO(d);
                return pad(d3_time__WEBPACK_IMPORTED_MODULE_0__['timeThursday'].count(Object(d3_time__WEBPACK_IMPORTED_MODULE_0__['timeYear'])(d), d) + (Object(d3_time__WEBPACK_IMPORTED_MODULE_0__['timeYear'])(d).getDay() === 4), p, 2);
            }
            function formatWeekdayNumberSunday(d) {
                return d.getDay();
            }
            function formatWeekNumberMonday(d, p) {
                return pad(d3_time__WEBPACK_IMPORTED_MODULE_0__['timeMonday'].count(Object(d3_time__WEBPACK_IMPORTED_MODULE_0__['timeYear'])(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 ? Object(d3_time__WEBPACK_IMPORTED_MODULE_0__['timeThursday'])(d) : d3_time__WEBPACK_IMPORTED_MODULE_0__['timeThursday'].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_0__['utcDay'].count(Object(d3_time__WEBPACK_IMPORTED_MODULE_0__['utcYear'])(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(Object(d3_time__WEBPACK_IMPORTED_MODULE_0__['utcYear'])(d) - 1, d), p, 2);
            }
            function UTCdISO(d) {
                var day = d.getUTCDay();
                return day >= 4 || day === 0 ? Object(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(Object(d3_time__WEBPACK_IMPORTED_MODULE_0__['utcYear'])(d), d) + (Object(d3_time__WEBPACK_IMPORTED_MODULE_0__['utcYear'])(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(Object(d3_time__WEBPACK_IMPORTED_MODULE_0__['utcYear'])(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 ? Object(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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'days', function () {
                return days;
            });
            var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time/src/interval.js');
            var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-time/src/duration.js');
            var day = Object(_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;
            });
            __webpack_exports__['default'] = day;
            var days = day.range;
        },
        './node_modules/d3-time/src/duration.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'durationSecond', function () {
                return durationSecond;
            });
            __webpack_require__.d(__webpack_exports__, 'durationMinute', function () {
                return durationMinute;
            });
            __webpack_require__.d(__webpack_exports__, 'durationHour', function () {
                return durationHour;
            });
            __webpack_require__.d(__webpack_exports__, 'durationDay', function () {
                return durationDay;
            });
            __webpack_require__.d(__webpack_exports__, 'durationWeek', function () {
                return durationWeek;
            });
            var durationSecond = 1000;
            var durationMinute = 60000;
            var durationHour = 3600000;
            var durationDay = 86400000;
            var durationWeek = 604800000;
        },
        './node_modules/d3-time/src/hour.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'hours', function () {
                return hours;
            });
            var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time/src/interval.js');
            var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-time/src/duration.js');
            var hour = Object(_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();
            });
            __webpack_exports__['default'] = hour;
            var hours = hour.range;
        },
        './node_modules/d3-time/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time/src/interval.js');
            __webpack_require__.d(__webpack_exports__, 'timeInterval', function () {
                return _interval_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _millisecond_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-time/src/millisecond.js');
            __webpack_require__.d(__webpack_exports__, 'timeMillisecond', function () {
                return _millisecond_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeMilliseconds', function () {
                return _millisecond_js__WEBPACK_IMPORTED_MODULE_1__['milliseconds'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcMillisecond', function () {
                return _millisecond_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcMilliseconds', function () {
                return _millisecond_js__WEBPACK_IMPORTED_MODULE_1__['milliseconds'];
            });
            var _second_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-time/src/second.js');
            __webpack_require__.d(__webpack_exports__, 'timeSecond', function () {
                return _second_js__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeSeconds', function () {
                return _second_js__WEBPACK_IMPORTED_MODULE_2__['seconds'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcSecond', function () {
                return _second_js__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcSeconds', function () {
                return _second_js__WEBPACK_IMPORTED_MODULE_2__['seconds'];
            });
            var _minute_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-time/src/minute.js');
            __webpack_require__.d(__webpack_exports__, 'timeMinute', function () {
                return _minute_js__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeMinutes', function () {
                return _minute_js__WEBPACK_IMPORTED_MODULE_3__['minutes'];
            });
            var _hour_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-time/src/hour.js');
            __webpack_require__.d(__webpack_exports__, 'timeHour', function () {
                return _hour_js__WEBPACK_IMPORTED_MODULE_4__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeHours', function () {
                return _hour_js__WEBPACK_IMPORTED_MODULE_4__['hours'];
            });
            var _day_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-time/src/day.js');
            __webpack_require__.d(__webpack_exports__, 'timeDay', function () {
                return _day_js__WEBPACK_IMPORTED_MODULE_5__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeDays', function () {
                return _day_js__WEBPACK_IMPORTED_MODULE_5__['days'];
            });
            var _week_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-time/src/week.js');
            __webpack_require__.d(__webpack_exports__, 'timeWeek', function () {
                return _week_js__WEBPACK_IMPORTED_MODULE_6__['sunday'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeWeeks', function () {
                return _week_js__WEBPACK_IMPORTED_MODULE_6__['sundays'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeSunday', function () {
                return _week_js__WEBPACK_IMPORTED_MODULE_6__['sunday'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeSundays', function () {
                return _week_js__WEBPACK_IMPORTED_MODULE_6__['sundays'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeMonday', function () {
                return _week_js__WEBPACK_IMPORTED_MODULE_6__['monday'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeMondays', function () {
                return _week_js__WEBPACK_IMPORTED_MODULE_6__['mondays'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeTuesday', function () {
                return _week_js__WEBPACK_IMPORTED_MODULE_6__['tuesday'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeTuesdays', function () {
                return _week_js__WEBPACK_IMPORTED_MODULE_6__['tuesdays'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeWednesday', function () {
                return _week_js__WEBPACK_IMPORTED_MODULE_6__['wednesday'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeWednesdays', function () {
                return _week_js__WEBPACK_IMPORTED_MODULE_6__['wednesdays'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeThursday', function () {
                return _week_js__WEBPACK_IMPORTED_MODULE_6__['thursday'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeThursdays', function () {
                return _week_js__WEBPACK_IMPORTED_MODULE_6__['thursdays'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeFriday', function () {
                return _week_js__WEBPACK_IMPORTED_MODULE_6__['friday'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeFridays', function () {
                return _week_js__WEBPACK_IMPORTED_MODULE_6__['fridays'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeSaturday', function () {
                return _week_js__WEBPACK_IMPORTED_MODULE_6__['saturday'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeSaturdays', function () {
                return _week_js__WEBPACK_IMPORTED_MODULE_6__['saturdays'];
            });
            var _month_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-time/src/month.js');
            __webpack_require__.d(__webpack_exports__, 'timeMonth', function () {
                return _month_js__WEBPACK_IMPORTED_MODULE_7__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeMonths', function () {
                return _month_js__WEBPACK_IMPORTED_MODULE_7__['months'];
            });
            var _year_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-time/src/year.js');
            __webpack_require__.d(__webpack_exports__, 'timeYear', function () {
                return _year_js__WEBPACK_IMPORTED_MODULE_8__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeYears', function () {
                return _year_js__WEBPACK_IMPORTED_MODULE_8__['years'];
            });
            var _utcMinute_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__('./node_modules/d3-time/src/utcMinute.js');
            __webpack_require__.d(__webpack_exports__, 'utcMinute', function () {
                return _utcMinute_js__WEBPACK_IMPORTED_MODULE_9__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcMinutes', function () {
                return _utcMinute_js__WEBPACK_IMPORTED_MODULE_9__['utcMinutes'];
            });
            var _utcHour_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__('./node_modules/d3-time/src/utcHour.js');
            __webpack_require__.d(__webpack_exports__, 'utcHour', function () {
                return _utcHour_js__WEBPACK_IMPORTED_MODULE_10__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcHours', function () {
                return _utcHour_js__WEBPACK_IMPORTED_MODULE_10__['utcHours'];
            });
            var _utcDay_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__('./node_modules/d3-time/src/utcDay.js');
            __webpack_require__.d(__webpack_exports__, 'utcDay', function () {
                return _utcDay_js__WEBPACK_IMPORTED_MODULE_11__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcDays', function () {
                return _utcDay_js__WEBPACK_IMPORTED_MODULE_11__['utcDays'];
            });
            var _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__('./node_modules/d3-time/src/utcWeek.js');
            __webpack_require__.d(__webpack_exports__, 'utcWeek', function () {
                return _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__['utcSunday'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcWeeks', function () {
                return _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__['utcSundays'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcSunday', function () {
                return _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__['utcSunday'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcSundays', function () {
                return _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__['utcSundays'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcMonday', function () {
                return _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__['utcMonday'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcMondays', function () {
                return _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__['utcMondays'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcTuesday', function () {
                return _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__['utcTuesday'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcTuesdays', function () {
                return _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__['utcTuesdays'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcWednesday', function () {
                return _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__['utcWednesday'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcWednesdays', function () {
                return _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__['utcWednesdays'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcThursday', function () {
                return _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__['utcThursday'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcThursdays', function () {
                return _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__['utcThursdays'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcFriday', function () {
                return _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__['utcFriday'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcFridays', function () {
                return _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__['utcFridays'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcSaturday', function () {
                return _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__['utcSaturday'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcSaturdays', function () {
                return _utcWeek_js__WEBPACK_IMPORTED_MODULE_12__['utcSaturdays'];
            });
            var _utcMonth_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__('./node_modules/d3-time/src/utcMonth.js');
            __webpack_require__.d(__webpack_exports__, 'utcMonth', function () {
                return _utcMonth_js__WEBPACK_IMPORTED_MODULE_13__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcMonths', function () {
                return _utcMonth_js__WEBPACK_IMPORTED_MODULE_13__['utcMonths'];
            });
            var _utcYear_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__('./node_modules/d3-time/src/utcYear.js');
            __webpack_require__.d(__webpack_exports__, 'utcYear', function () {
                return _utcYear_js__WEBPACK_IMPORTED_MODULE_14__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcYears', function () {
                return _utcYear_js__WEBPACK_IMPORTED_MODULE_14__['utcYears'];
            });
        },
        './node_modules/d3-time/src/interval.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return newInterval;
            });
            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;
                    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)) {
                                    }
                                }
                            else
                                while (--step >= 0) {
                                    while (offseti(date, +1), !test(date)) {
                                    }
                                }
                        }
                    });
                };
                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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'milliseconds', function () {
                return milliseconds;
            });
            var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time/src/interval.js');
            var millisecond = Object(_interval_js__WEBPACK_IMPORTED_MODULE_0__['default'])(function () {
            }, function (date, step) {
                date.setTime(+date + step);
            }, function (start, end) {
                return end - start;
            });
            millisecond.every = function (k) {
                k = Math.floor(k);
                if (!isFinite(k) || !(k > 0))
                    return null;
                if (!(k > 1))
                    return millisecond;
                return Object(_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;
                });
            };
            __webpack_exports__['default'] = millisecond;
            var milliseconds = millisecond.range;
        },
        './node_modules/d3-time/src/minute.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'minutes', function () {
                return minutes;
            });
            var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time/src/interval.js');
            var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-time/src/duration.js');
            var minute = Object(_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();
            });
            __webpack_exports__['default'] = minute;
            var minutes = minute.range;
        },
        './node_modules/d3-time/src/month.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'months', function () {
                return months;
            });
            var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time/src/interval.js');
            var month = Object(_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();
            });
            __webpack_exports__['default'] = month;
            var months = month.range;
        },
        './node_modules/d3-time/src/second.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'seconds', function () {
                return seconds;
            });
            var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time/src/interval.js');
            var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-time/src/duration.js');
            var second = Object(_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();
            });
            __webpack_exports__['default'] = second;
            var seconds = second.range;
        },
        './node_modules/d3-time/src/utcDay.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'utcDays', function () {
                return utcDays;
            });
            var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time/src/interval.js');
            var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-time/src/duration.js');
            var utcDay = Object(_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;
            });
            __webpack_exports__['default'] = utcDay;
            var utcDays = utcDay.range;
        },
        './node_modules/d3-time/src/utcHour.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'utcHours', function () {
                return utcHours;
            });
            var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time/src/interval.js');
            var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-time/src/duration.js');
            var utcHour = Object(_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();
            });
            __webpack_exports__['default'] = utcHour;
            var utcHours = utcHour.range;
        },
        './node_modules/d3-time/src/utcMinute.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'utcMinutes', function () {
                return utcMinutes;
            });
            var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time/src/interval.js');
            var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-time/src/duration.js');
            var utcMinute = Object(_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();
            });
            __webpack_exports__['default'] = utcMinute;
            var utcMinutes = utcMinute.range;
        },
        './node_modules/d3-time/src/utcMonth.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'utcMonths', function () {
                return utcMonths;
            });
            var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time/src/interval.js');
            var utcMonth = Object(_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();
            });
            __webpack_exports__['default'] = utcMonth;
            var utcMonths = utcMonth.range;
        },
        './node_modules/d3-time/src/utcWeek.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'utcSunday', function () {
                return utcSunday;
            });
            __webpack_require__.d(__webpack_exports__, 'utcMonday', function () {
                return utcMonday;
            });
            __webpack_require__.d(__webpack_exports__, 'utcTuesday', function () {
                return utcTuesday;
            });
            __webpack_require__.d(__webpack_exports__, 'utcWednesday', function () {
                return utcWednesday;
            });
            __webpack_require__.d(__webpack_exports__, 'utcThursday', function () {
                return utcThursday;
            });
            __webpack_require__.d(__webpack_exports__, 'utcFriday', function () {
                return utcFriday;
            });
            __webpack_require__.d(__webpack_exports__, 'utcSaturday', function () {
                return utcSaturday;
            });
            __webpack_require__.d(__webpack_exports__, 'utcSundays', function () {
                return utcSundays;
            });
            __webpack_require__.d(__webpack_exports__, 'utcMondays', function () {
                return utcMondays;
            });
            __webpack_require__.d(__webpack_exports__, 'utcTuesdays', function () {
                return utcTuesdays;
            });
            __webpack_require__.d(__webpack_exports__, 'utcWednesdays', function () {
                return utcWednesdays;
            });
            __webpack_require__.d(__webpack_exports__, 'utcThursdays', function () {
                return utcThursdays;
            });
            __webpack_require__.d(__webpack_exports__, 'utcFridays', function () {
                return utcFridays;
            });
            __webpack_require__.d(__webpack_exports__, 'utcSaturdays', function () {
                return utcSaturdays;
            });
            var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time/src/interval.js');
            var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-time/src/duration.js');
            function utcWeekday(i) {
                return Object(_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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'utcYears', function () {
                return utcYears;
            });
            var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time/src/interval.js');
            var utcYear = Object(_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();
            });
            utcYear.every = function (k) {
                return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : Object(_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);
                });
            };
            __webpack_exports__['default'] = utcYear;
            var utcYears = utcYear.range;
        },
        './node_modules/d3-time/src/week.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'sunday', function () {
                return sunday;
            });
            __webpack_require__.d(__webpack_exports__, 'monday', function () {
                return monday;
            });
            __webpack_require__.d(__webpack_exports__, 'tuesday', function () {
                return tuesday;
            });
            __webpack_require__.d(__webpack_exports__, 'wednesday', function () {
                return wednesday;
            });
            __webpack_require__.d(__webpack_exports__, 'thursday', function () {
                return thursday;
            });
            __webpack_require__.d(__webpack_exports__, 'friday', function () {
                return friday;
            });
            __webpack_require__.d(__webpack_exports__, 'saturday', function () {
                return saturday;
            });
            __webpack_require__.d(__webpack_exports__, 'sundays', function () {
                return sundays;
            });
            __webpack_require__.d(__webpack_exports__, 'mondays', function () {
                return mondays;
            });
            __webpack_require__.d(__webpack_exports__, 'tuesdays', function () {
                return tuesdays;
            });
            __webpack_require__.d(__webpack_exports__, 'wednesdays', function () {
                return wednesdays;
            });
            __webpack_require__.d(__webpack_exports__, 'thursdays', function () {
                return thursdays;
            });
            __webpack_require__.d(__webpack_exports__, 'fridays', function () {
                return fridays;
            });
            __webpack_require__.d(__webpack_exports__, 'saturdays', function () {
                return saturdays;
            });
            var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time/src/interval.js');
            var _duration_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-time/src/duration.js');
            function weekday(i) {
                return Object(_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': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'years', function () {
                return years;
            });
            var _interval_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-time/src/interval.js');
            var year = Object(_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();
            });
            year.every = function (k) {
                return !isFinite(k = Math.floor(k)) || !(k > 0) ? null : Object(_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);
                });
            };
            __webpack_exports__['default'] = year;
            var years = year.range;
        },
        './node_modules/d3-timer/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _timer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-timer/src/timer.js');
            __webpack_require__.d(__webpack_exports__, 'now', function () {
                return _timer_js__WEBPACK_IMPORTED_MODULE_0__['now'];
            });
            __webpack_require__.d(__webpack_exports__, 'timer', function () {
                return _timer_js__WEBPACK_IMPORTED_MODULE_0__['timer'];
            });
            __webpack_require__.d(__webpack_exports__, 'timerFlush', function () {
                return _timer_js__WEBPACK_IMPORTED_MODULE_0__['timerFlush'];
            });
            var _timeout_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-timer/src/timeout.js');
            __webpack_require__.d(__webpack_exports__, 'timeout', function () {
                return _timeout_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _interval_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-timer/src/interval.js');
            __webpack_require__.d(__webpack_exports__, 'interval', function () {
                return _interval_js__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
        },
        './node_modules/d3-timer/src/interval.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _timer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-timer/src/timer.js');
            __webpack_exports__['default'] = function (callback, delay, time) {
                var t = new _timer_js__WEBPACK_IMPORTED_MODULE_0__['Timer'](), total = delay;
                if (delay == null)
                    return t.restart(callback, delay, time), t;
                delay = +delay, time = time == null ? Object(_timer_js__WEBPACK_IMPORTED_MODULE_0__['now'])() : +time;
                t.restart(function tick(elapsed) {
                    elapsed += total;
                    t.restart(tick, total += delay, time);
                    callback(elapsed);
                }, delay, time);
                return t;
            };
        },
        './node_modules/d3-timer/src/timeout.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _timer_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-timer/src/timer.js');
            __webpack_exports__['default'] = function (callback, delay, time) {
                var t = new _timer_js__WEBPACK_IMPORTED_MODULE_0__['Timer']();
                delay = delay == null ? 0 : +delay;
                t.restart(function (elapsed) {
                    t.stop();
                    callback(elapsed + delay);
                }, delay, time);
                return t;
            };
        },
        './node_modules/d3-timer/src/timer.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'now', function () {
                return now;
            });
            __webpack_require__.d(__webpack_exports__, 'Timer', function () {
                return Timer;
            });
            __webpack_require__.d(__webpack_exports__, 'timer', function () {
                return timer;
            });
            __webpack_require__.d(__webpack_exports__, 'timerFlush', function () {
                return timerFlush;
            });
            var frame = 0, timeout = 0, interval = 0, pokeDelay = 1000, 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();
                ++frame;
                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;
                if (timeout)
                    timeout = clearTimeout(timeout);
                var delay = time - 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/d3-transition/src/active.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _transition_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-transition/src/transition/index.js');
            var _transition_schedule_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-transition/src/transition/schedule.js');
            var root = [null];
            __webpack_exports__['default'] = function (node, name) {
                var schedules = node.__transition, schedule, i;
                if (schedules) {
                    name = name == null ? null : name + '';
                    for (i in schedules) {
                        if ((schedule = schedules[i]).state > _transition_schedule_js__WEBPACK_IMPORTED_MODULE_1__['SCHEDULED'] && schedule.name === name) {
                            return new _transition_index_js__WEBPACK_IMPORTED_MODULE_0__['Transition']([[node]], root, name, +i);
                        }
                    }
                }
                return null;
            };
        },
        './node_modules/d3-transition/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _selection_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-transition/src/selection/index.js');
            var _transition_index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-transition/src/transition/index.js');
            __webpack_require__.d(__webpack_exports__, 'transition', function () {
                return _transition_index_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            var _active_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-transition/src/active.js');
            __webpack_require__.d(__webpack_exports__, 'active', function () {
                return _active_js__WEBPACK_IMPORTED_MODULE_2__['default'];
            });
            var _interrupt_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-transition/src/interrupt.js');
            __webpack_require__.d(__webpack_exports__, 'interrupt', function () {
                return _interrupt_js__WEBPACK_IMPORTED_MODULE_3__['default'];
            });
        },
        './node_modules/d3-transition/src/interrupt.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _transition_schedule_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-transition/src/transition/schedule.js');
            __webpack_exports__['default'] = function (node, name) {
                var schedules = node.__transition, schedule, active, empty = true, i;
                if (!schedules)
                    return;
                name = name == null ? null : name + '';
                for (i in schedules) {
                    if ((schedule = schedules[i]).name !== name) {
                        empty = false;
                        continue;
                    }
                    active = schedule.state > _transition_schedule_js__WEBPACK_IMPORTED_MODULE_0__['STARTING'] && schedule.state < _transition_schedule_js__WEBPACK_IMPORTED_MODULE_0__['ENDING'];
                    schedule.state = _transition_schedule_js__WEBPACK_IMPORTED_MODULE_0__['ENDED'];
                    schedule.timer.stop();
                    schedule.on.call(active ? 'interrupt' : 'cancel', node, node.__data__, schedule.index, schedule.group);
                    delete schedules[i];
                }
                if (empty)
                    delete node.__transition;
            };
        },
        './node_modules/d3-transition/src/selection/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_selection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            var _interrupt_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-transition/src/selection/interrupt.js');
            var _transition_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-transition/src/selection/transition.js');
            d3_selection__WEBPACK_IMPORTED_MODULE_0__['selection'].prototype.interrupt = _interrupt_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            d3_selection__WEBPACK_IMPORTED_MODULE_0__['selection'].prototype.transition = _transition_js__WEBPACK_IMPORTED_MODULE_2__['default'];
        },
        './node_modules/d3-transition/src/selection/interrupt.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _interrupt_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-transition/src/interrupt.js');
            __webpack_exports__['default'] = function (name) {
                return this.each(function () {
                    Object(_interrupt_js__WEBPACK_IMPORTED_MODULE_0__['default'])(this, name);
                });
            };
        },
        './node_modules/d3-transition/src/selection/transition.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _transition_index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-transition/src/transition/index.js');
            var _transition_schedule_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-transition/src/transition/schedule.js');
            var d3_ease__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-ease/src/index.js');
            var d3_timer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-timer/src/index.js');
            var defaultTiming = {
                time: null,
                delay: 0,
                duration: 250,
                ease: d3_ease__WEBPACK_IMPORTED_MODULE_2__['easeCubicInOut']
            };
            function inherit(node, id) {
                var timing;
                while (!(timing = node.__transition) || !(timing = timing[id])) {
                    if (!(node = node.parentNode)) {
                        return defaultTiming.time = Object(d3_timer__WEBPACK_IMPORTED_MODULE_3__['now'])(), defaultTiming;
                    }
                }
                return timing;
            }
            __webpack_exports__['default'] = function (name) {
                var id, timing;
                if (name instanceof _transition_index_js__WEBPACK_IMPORTED_MODULE_0__['Transition']) {
                    id = name._id, name = name._name;
                } else {
                    id = Object(_transition_index_js__WEBPACK_IMPORTED_MODULE_0__['newId'])(), (timing = defaultTiming).time = Object(d3_timer__WEBPACK_IMPORTED_MODULE_3__['now'])(), name = name == null ? null : name + '';
                }
                for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {
                    for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
                        if (node = group[i]) {
                            Object(_transition_schedule_js__WEBPACK_IMPORTED_MODULE_1__['default'])(node, name, id, i, group, timing || inherit(node, id));
                        }
                    }
                }
                return new _transition_index_js__WEBPACK_IMPORTED_MODULE_0__['Transition'](groups, this._parents, name, id);
            };
        },
        './node_modules/d3-transition/src/transition/attr.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_interpolate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-interpolate/src/index.js');
            var d3_selection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            var _tween_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-transition/src/transition/tween.js');
            var _interpolate_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-transition/src/transition/interpolate.js');
            function attrRemove(name) {
                return function () {
                    this.removeAttribute(name);
                };
            }
            function attrRemoveNS(fullname) {
                return function () {
                    this.removeAttributeNS(fullname.space, fullname.local);
                };
            }
            function attrConstant(name, interpolate, value1) {
                var string00, string1 = value1 + '', interpolate0;
                return function () {
                    var string0 = this.getAttribute(name);
                    return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate(string00 = string0, value1);
                };
            }
            function attrConstantNS(fullname, interpolate, value1) {
                var string00, string1 = value1 + '', interpolate0;
                return function () {
                    var string0 = this.getAttributeNS(fullname.space, fullname.local);
                    return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate(string00 = string0, value1);
                };
            }
            function attrFunction(name, interpolate, value) {
                var string00, string10, interpolate0;
                return function () {
                    var string0, value1 = value(this), string1;
                    if (value1 == null)
                        return void this.removeAttribute(name);
                    string0 = this.getAttribute(name);
                    string1 = value1 + '';
                    return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));
                };
            }
            function attrFunctionNS(fullname, interpolate, value) {
                var string00, string10, interpolate0;
                return function () {
                    var string0, value1 = value(this), string1;
                    if (value1 == null)
                        return void this.removeAttributeNS(fullname.space, fullname.local);
                    string0 = this.getAttributeNS(fullname.space, fullname.local);
                    string1 = value1 + '';
                    return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));
                };
            }
            __webpack_exports__['default'] = function (name, value) {
                var fullname = Object(d3_selection__WEBPACK_IMPORTED_MODULE_1__['namespace'])(name), i = fullname === 'transform' ? d3_interpolate__WEBPACK_IMPORTED_MODULE_0__['interpolateTransformSvg'] : _interpolate_js__WEBPACK_IMPORTED_MODULE_3__['default'];
                return this.attrTween(name, typeof value === 'function' ? (fullname.local ? attrFunctionNS : attrFunction)(fullname, i, Object(_tween_js__WEBPACK_IMPORTED_MODULE_2__['tweenValue'])(this, 'attr.' + name, value)) : value == null ? (fullname.local ? attrRemoveNS : attrRemove)(fullname) : (fullname.local ? attrConstantNS : attrConstant)(fullname, i, value));
            };
        },
        './node_modules/d3-transition/src/transition/attrTween.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_selection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            function attrInterpolate(name, i) {
                return function (t) {
                    this.setAttribute(name, i.call(this, t));
                };
            }
            function attrInterpolateNS(fullname, i) {
                return function (t) {
                    this.setAttributeNS(fullname.space, fullname.local, i.call(this, t));
                };
            }
            function attrTweenNS(fullname, value) {
                var t0, i0;
                function tween() {
                    var i = value.apply(this, arguments);
                    if (i !== i0)
                        t0 = (i0 = i) && attrInterpolateNS(fullname, i);
                    return t0;
                }
                tween._value = value;
                return tween;
            }
            function attrTween(name, value) {
                var t0, i0;
                function tween() {
                    var i = value.apply(this, arguments);
                    if (i !== i0)
                        t0 = (i0 = i) && attrInterpolate(name, i);
                    return t0;
                }
                tween._value = value;
                return tween;
            }
            __webpack_exports__['default'] = function (name, value) {
                var key = 'attr.' + name;
                if (arguments.length < 2)
                    return (key = this.tween(key)) && key._value;
                if (value == null)
                    return this.tween(key, null);
                if (typeof value !== 'function')
                    throw new Error();
                var fullname = Object(d3_selection__WEBPACK_IMPORTED_MODULE_0__['namespace'])(name);
                return this.tween(key, (fullname.local ? attrTweenNS : attrTween)(fullname, value));
            };
        },
        './node_modules/d3-transition/src/transition/delay.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _schedule_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-transition/src/transition/schedule.js');
            function delayFunction(id, value) {
                return function () {
                    Object(_schedule_js__WEBPACK_IMPORTED_MODULE_0__['init'])(this, id).delay = +value.apply(this, arguments);
                };
            }
            function delayConstant(id, value) {
                return value = +value, function () {
                    Object(_schedule_js__WEBPACK_IMPORTED_MODULE_0__['init'])(this, id).delay = value;
                };
            }
            __webpack_exports__['default'] = function (value) {
                var id = this._id;
                return arguments.length ? this.each((typeof value === 'function' ? delayFunction : delayConstant)(id, value)) : Object(_schedule_js__WEBPACK_IMPORTED_MODULE_0__['get'])(this.node(), id).delay;
            };
        },
        './node_modules/d3-transition/src/transition/duration.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _schedule_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-transition/src/transition/schedule.js');
            function durationFunction(id, value) {
                return function () {
                    Object(_schedule_js__WEBPACK_IMPORTED_MODULE_0__['set'])(this, id).duration = +value.apply(this, arguments);
                };
            }
            function durationConstant(id, value) {
                return value = +value, function () {
                    Object(_schedule_js__WEBPACK_IMPORTED_MODULE_0__['set'])(this, id).duration = value;
                };
            }
            __webpack_exports__['default'] = function (value) {
                var id = this._id;
                return arguments.length ? this.each((typeof value === 'function' ? durationFunction : durationConstant)(id, value)) : Object(_schedule_js__WEBPACK_IMPORTED_MODULE_0__['get'])(this.node(), id).duration;
            };
        },
        './node_modules/d3-transition/src/transition/ease.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _schedule_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-transition/src/transition/schedule.js');
            function easeConstant(id, value) {
                if (typeof value !== 'function')
                    throw new Error();
                return function () {
                    Object(_schedule_js__WEBPACK_IMPORTED_MODULE_0__['set'])(this, id).ease = value;
                };
            }
            __webpack_exports__['default'] = function (value) {
                var id = this._id;
                return arguments.length ? this.each(easeConstant(id, value)) : Object(_schedule_js__WEBPACK_IMPORTED_MODULE_0__['get'])(this.node(), id).ease;
            };
        },
        './node_modules/d3-transition/src/transition/end.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _schedule_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-transition/src/transition/schedule.js');
            __webpack_exports__['default'] = function () {
                var on0, on1, that = this, id = that._id, size = that.size();
                return new Promise(function (resolve, reject) {
                    var cancel = { value: reject }, end = {
                            value: function () {
                                if (--size === 0)
                                    resolve();
                            }
                        };
                    that.each(function () {
                        var schedule = Object(_schedule_js__WEBPACK_IMPORTED_MODULE_0__['set'])(this, id), on = schedule.on;
                        if (on !== on0) {
                            on1 = (on0 = on).copy();
                            on1._.cancel.push(cancel);
                            on1._.interrupt.push(cancel);
                            on1._.end.push(end);
                        }
                        schedule.on = on1;
                    });
                });
            };
        },
        './node_modules/d3-transition/src/transition/filter.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_selection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            var _index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-transition/src/transition/index.js');
            __webpack_exports__['default'] = function (match) {
                if (typeof match !== 'function')
                    match = Object(d3_selection__WEBPACK_IMPORTED_MODULE_0__['matcher'])(match);
                for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
                    for (var group = groups[j], n = group.length, subgroup = subgroups[j] = [], node, i = 0; i < n; ++i) {
                        if ((node = group[i]) && match.call(node, node.__data__, i, group)) {
                            subgroup.push(node);
                        }
                    }
                }
                return new _index_js__WEBPACK_IMPORTED_MODULE_1__['Transition'](subgroups, this._parents, this._name, this._id);
            };
        },
        './node_modules/d3-transition/src/transition/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'Transition', function () {
                return Transition;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return transition;
            });
            __webpack_require__.d(__webpack_exports__, 'newId', function () {
                return newId;
            });
            var d3_selection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            var _attr_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-transition/src/transition/attr.js');
            var _attrTween_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-transition/src/transition/attrTween.js');
            var _delay_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-transition/src/transition/delay.js');
            var _duration_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-transition/src/transition/duration.js');
            var _ease_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-transition/src/transition/ease.js');
            var _filter_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-transition/src/transition/filter.js');
            var _merge_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-transition/src/transition/merge.js');
            var _on_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-transition/src/transition/on.js');
            var _remove_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__('./node_modules/d3-transition/src/transition/remove.js');
            var _select_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__('./node_modules/d3-transition/src/transition/select.js');
            var _selectAll_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__('./node_modules/d3-transition/src/transition/selectAll.js');
            var _selection_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__('./node_modules/d3-transition/src/transition/selection.js');
            var _style_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__('./node_modules/d3-transition/src/transition/style.js');
            var _styleTween_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__('./node_modules/d3-transition/src/transition/styleTween.js');
            var _text_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__('./node_modules/d3-transition/src/transition/text.js');
            var _textTween_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__('./node_modules/d3-transition/src/transition/textTween.js');
            var _transition_js__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__('./node_modules/d3-transition/src/transition/transition.js');
            var _tween_js__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__('./node_modules/d3-transition/src/transition/tween.js');
            var _end_js__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__('./node_modules/d3-transition/src/transition/end.js');
            var id = 0;
            function Transition(groups, parents, name, id) {
                this._groups = groups;
                this._parents = parents;
                this._name = name;
                this._id = id;
            }
            function transition(name) {
                return Object(d3_selection__WEBPACK_IMPORTED_MODULE_0__['selection'])().transition(name);
            }
            function newId() {
                return ++id;
            }
            var selection_prototype = d3_selection__WEBPACK_IMPORTED_MODULE_0__['selection'].prototype;
            Transition.prototype = transition.prototype = {
                constructor: Transition,
                select: _select_js__WEBPACK_IMPORTED_MODULE_10__['default'],
                selectAll: _selectAll_js__WEBPACK_IMPORTED_MODULE_11__['default'],
                filter: _filter_js__WEBPACK_IMPORTED_MODULE_6__['default'],
                merge: _merge_js__WEBPACK_IMPORTED_MODULE_7__['default'],
                selection: _selection_js__WEBPACK_IMPORTED_MODULE_12__['default'],
                transition: _transition_js__WEBPACK_IMPORTED_MODULE_17__['default'],
                call: selection_prototype.call,
                nodes: selection_prototype.nodes,
                node: selection_prototype.node,
                size: selection_prototype.size,
                empty: selection_prototype.empty,
                each: selection_prototype.each,
                on: _on_js__WEBPACK_IMPORTED_MODULE_8__['default'],
                attr: _attr_js__WEBPACK_IMPORTED_MODULE_1__['default'],
                attrTween: _attrTween_js__WEBPACK_IMPORTED_MODULE_2__['default'],
                style: _style_js__WEBPACK_IMPORTED_MODULE_13__['default'],
                styleTween: _styleTween_js__WEBPACK_IMPORTED_MODULE_14__['default'],
                text: _text_js__WEBPACK_IMPORTED_MODULE_15__['default'],
                textTween: _textTween_js__WEBPACK_IMPORTED_MODULE_16__['default'],
                remove: _remove_js__WEBPACK_IMPORTED_MODULE_9__['default'],
                tween: _tween_js__WEBPACK_IMPORTED_MODULE_18__['default'],
                delay: _delay_js__WEBPACK_IMPORTED_MODULE_3__['default'],
                duration: _duration_js__WEBPACK_IMPORTED_MODULE_4__['default'],
                ease: _ease_js__WEBPACK_IMPORTED_MODULE_5__['default'],
                end: _end_js__WEBPACK_IMPORTED_MODULE_19__['default']
            };
        },
        './node_modules/d3-transition/src/transition/interpolate.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_color__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-color/src/index.js');
            var d3_interpolate__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-interpolate/src/index.js');
            __webpack_exports__['default'] = function (a, b) {
                var c;
                return (typeof b === 'number' ? d3_interpolate__WEBPACK_IMPORTED_MODULE_1__['interpolateNumber'] : b instanceof d3_color__WEBPACK_IMPORTED_MODULE_0__['color'] ? d3_interpolate__WEBPACK_IMPORTED_MODULE_1__['interpolateRgb'] : (c = Object(d3_color__WEBPACK_IMPORTED_MODULE_0__['color'])(b)) ? (b = c, d3_interpolate__WEBPACK_IMPORTED_MODULE_1__['interpolateRgb']) : d3_interpolate__WEBPACK_IMPORTED_MODULE_1__['interpolateString'])(a, b);
            };
        },
        './node_modules/d3-transition/src/transition/merge.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-transition/src/transition/index.js');
            __webpack_exports__['default'] = function (transition) {
                if (transition._id !== this._id)
                    throw new Error();
                for (var groups0 = this._groups, groups1 = transition._groups, m0 = groups0.length, m1 = groups1.length, m = Math.min(m0, m1), merges = new Array(m0), j = 0; j < m; ++j) {
                    for (var group0 = groups0[j], group1 = groups1[j], n = group0.length, merge = merges[j] = new Array(n), node, i = 0; i < n; ++i) {
                        if (node = group0[i] || group1[i]) {
                            merge[i] = node;
                        }
                    }
                }
                for (; j < m0; ++j) {
                    merges[j] = groups0[j];
                }
                return new _index_js__WEBPACK_IMPORTED_MODULE_0__['Transition'](merges, this._parents, this._name, this._id);
            };
        },
        './node_modules/d3-transition/src/transition/on.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _schedule_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-transition/src/transition/schedule.js');
            function start(name) {
                return (name + '').trim().split(/^|\s+/).every(function (t) {
                    var i = t.indexOf('.');
                    if (i >= 0)
                        t = t.slice(0, i);
                    return !t || t === 'start';
                });
            }
            function onFunction(id, name, listener) {
                var on0, on1, sit = start(name) ? _schedule_js__WEBPACK_IMPORTED_MODULE_0__['init'] : _schedule_js__WEBPACK_IMPORTED_MODULE_0__['set'];
                return function () {
                    var schedule = sit(this, id), on = schedule.on;
                    if (on !== on0)
                        (on1 = (on0 = on).copy()).on(name, listener);
                    schedule.on = on1;
                };
            }
            __webpack_exports__['default'] = function (name, listener) {
                var id = this._id;
                return arguments.length < 2 ? Object(_schedule_js__WEBPACK_IMPORTED_MODULE_0__['get'])(this.node(), id).on.on(name) : this.each(onFunction(id, name, listener));
            };
        },
        './node_modules/d3-transition/src/transition/remove.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function removeFunction(id) {
                return function () {
                    var parent = this.parentNode;
                    for (var i in this.__transition)
                        if (+i !== id)
                            return;
                    if (parent)
                        parent.removeChild(this);
                };
            }
            __webpack_exports__['default'] = function () {
                return this.on('end.remove', removeFunction(this._id));
            };
        },
        './node_modules/d3-transition/src/transition/schedule.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'CREATED', function () {
                return CREATED;
            });
            __webpack_require__.d(__webpack_exports__, 'SCHEDULED', function () {
                return SCHEDULED;
            });
            __webpack_require__.d(__webpack_exports__, 'STARTING', function () {
                return STARTING;
            });
            __webpack_require__.d(__webpack_exports__, 'STARTED', function () {
                return STARTED;
            });
            __webpack_require__.d(__webpack_exports__, 'RUNNING', function () {
                return RUNNING;
            });
            __webpack_require__.d(__webpack_exports__, 'ENDING', function () {
                return ENDING;
            });
            __webpack_require__.d(__webpack_exports__, 'ENDED', function () {
                return ENDED;
            });
            __webpack_require__.d(__webpack_exports__, 'init', function () {
                return init;
            });
            __webpack_require__.d(__webpack_exports__, 'set', function () {
                return set;
            });
            __webpack_require__.d(__webpack_exports__, 'get', function () {
                return get;
            });
            var d3_dispatch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-dispatch/src/index.js');
            var d3_timer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-timer/src/index.js');
            var emptyOn = Object(d3_dispatch__WEBPACK_IMPORTED_MODULE_0__['dispatch'])('start', 'end', 'cancel', 'interrupt');
            var emptyTween = [];
            var CREATED = 0;
            var SCHEDULED = 1;
            var STARTING = 2;
            var STARTED = 3;
            var RUNNING = 4;
            var ENDING = 5;
            var ENDED = 6;
            __webpack_exports__['default'] = function (node, name, id, index, group, timing) {
                var schedules = node.__transition;
                if (!schedules)
                    node.__transition = {};
                else if (id in schedules)
                    return;
                create(node, id, {
                    name: name,
                    index: index,
                    group: group,
                    on: emptyOn,
                    tween: emptyTween,
                    time: timing.time,
                    delay: timing.delay,
                    duration: timing.duration,
                    ease: timing.ease,
                    timer: null,
                    state: CREATED
                });
            };
            function init(node, id) {
                var schedule = get(node, id);
                if (schedule.state > CREATED)
                    throw new Error('too late; already scheduled');
                return schedule;
            }
            function set(node, id) {
                var schedule = get(node, id);
                if (schedule.state > STARTED)
                    throw new Error('too late; already running');
                return schedule;
            }
            function get(node, id) {
                var schedule = node.__transition;
                if (!schedule || !(schedule = schedule[id]))
                    throw new Error('transition not found');
                return schedule;
            }
            function create(node, id, self) {
                var schedules = node.__transition, tween;
                schedules[id] = self;
                self.timer = Object(d3_timer__WEBPACK_IMPORTED_MODULE_1__['timer'])(schedule, 0, self.time);
                function schedule(elapsed) {
                    self.state = SCHEDULED;
                    self.timer.restart(start, self.delay, self.time);
                    if (self.delay <= elapsed)
                        start(elapsed - self.delay);
                }
                function start(elapsed) {
                    var i, j, n, o;
                    if (self.state !== SCHEDULED)
                        return stop();
                    for (i in schedules) {
                        o = schedules[i];
                        if (o.name !== self.name)
                            continue;
                        if (o.state === STARTED)
                            return Object(d3_timer__WEBPACK_IMPORTED_MODULE_1__['timeout'])(start);
                        if (o.state === RUNNING) {
                            o.state = ENDED;
                            o.timer.stop();
                            o.on.call('interrupt', node, node.__data__, o.index, o.group);
                            delete schedules[i];
                        } else if (+i < id) {
                            o.state = ENDED;
                            o.timer.stop();
                            o.on.call('cancel', node, node.__data__, o.index, o.group);
                            delete schedules[i];
                        }
                    }
                    Object(d3_timer__WEBPACK_IMPORTED_MODULE_1__['timeout'])(function () {
                        if (self.state === STARTED) {
                            self.state = RUNNING;
                            self.timer.restart(tick, self.delay, self.time);
                            tick(elapsed);
                        }
                    });
                    self.state = STARTING;
                    self.on.call('start', node, node.__data__, self.index, self.group);
                    if (self.state !== STARTING)
                        return;
                    self.state = STARTED;
                    tween = new Array(n = self.tween.length);
                    for (i = 0, j = -1; i < n; ++i) {
                        if (o = self.tween[i].value.call(node, node.__data__, self.index, self.group)) {
                            tween[++j] = o;
                        }
                    }
                    tween.length = j + 1;
                }
                function tick(elapsed) {
                    var t = elapsed < self.duration ? self.ease.call(null, elapsed / self.duration) : (self.timer.restart(stop), self.state = ENDING, 1), i = -1, n = tween.length;
                    while (++i < n) {
                        tween[i].call(node, t);
                    }
                    if (self.state === ENDING) {
                        self.on.call('end', node, node.__data__, self.index, self.group);
                        stop();
                    }
                }
                function stop() {
                    self.state = ENDED;
                    self.timer.stop();
                    delete schedules[id];
                    for (var i in schedules)
                        return;
                    delete node.__transition;
                }
            }
        },
        './node_modules/d3-transition/src/transition/select.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_selection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            var _index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-transition/src/transition/index.js');
            var _schedule_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-transition/src/transition/schedule.js');
            __webpack_exports__['default'] = function (select) {
                var name = this._name, id = this._id;
                if (typeof select !== 'function')
                    select = Object(d3_selection__WEBPACK_IMPORTED_MODULE_0__['selector'])(select);
                for (var groups = this._groups, m = groups.length, subgroups = new Array(m), j = 0; j < m; ++j) {
                    for (var group = groups[j], n = group.length, subgroup = subgroups[j] = new Array(n), node, subnode, i = 0; i < n; ++i) {
                        if ((node = group[i]) && (subnode = select.call(node, node.__data__, i, group))) {
                            if ('__data__' in node)
                                subnode.__data__ = node.__data__;
                            subgroup[i] = subnode;
                            Object(_schedule_js__WEBPACK_IMPORTED_MODULE_2__['default'])(subgroup[i], name, id, i, subgroup, Object(_schedule_js__WEBPACK_IMPORTED_MODULE_2__['get'])(node, id));
                        }
                    }
                }
                return new _index_js__WEBPACK_IMPORTED_MODULE_1__['Transition'](subgroups, this._parents, name, id);
            };
        },
        './node_modules/d3-transition/src/transition/selectAll.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_selection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            var _index_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-transition/src/transition/index.js');
            var _schedule_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-transition/src/transition/schedule.js');
            __webpack_exports__['default'] = function (select) {
                var name = this._name, id = this._id;
                if (typeof select !== 'function')
                    select = Object(d3_selection__WEBPACK_IMPORTED_MODULE_0__['selectorAll'])(select);
                for (var groups = this._groups, m = groups.length, subgroups = [], parents = [], j = 0; j < m; ++j) {
                    for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
                        if (node = group[i]) {
                            for (var children = select.call(node, node.__data__, i, group), child, inherit = Object(_schedule_js__WEBPACK_IMPORTED_MODULE_2__['get'])(node, id), k = 0, l = children.length; k < l; ++k) {
                                if (child = children[k]) {
                                    Object(_schedule_js__WEBPACK_IMPORTED_MODULE_2__['default'])(child, name, id, k, children, inherit);
                                }
                            }
                            subgroups.push(children);
                            parents.push(node);
                        }
                    }
                }
                return new _index_js__WEBPACK_IMPORTED_MODULE_1__['Transition'](subgroups, parents, name, id);
            };
        },
        './node_modules/d3-transition/src/transition/selection.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_selection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            var Selection = d3_selection__WEBPACK_IMPORTED_MODULE_0__['selection'].prototype.constructor;
            __webpack_exports__['default'] = function () {
                return new Selection(this._groups, this._parents);
            };
        },
        './node_modules/d3-transition/src/transition/style.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_interpolate__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-interpolate/src/index.js');
            var d3_selection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            var _schedule_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-transition/src/transition/schedule.js');
            var _tween_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-transition/src/transition/tween.js');
            var _interpolate_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-transition/src/transition/interpolate.js');
            function styleNull(name, interpolate) {
                var string00, string10, interpolate0;
                return function () {
                    var string0 = Object(d3_selection__WEBPACK_IMPORTED_MODULE_1__['style'])(this, name), string1 = (this.style.removeProperty(name), Object(d3_selection__WEBPACK_IMPORTED_MODULE_1__['style'])(this, name));
                    return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : interpolate0 = interpolate(string00 = string0, string10 = string1);
                };
            }
            function styleRemove(name) {
                return function () {
                    this.style.removeProperty(name);
                };
            }
            function styleConstant(name, interpolate, value1) {
                var string00, string1 = value1 + '', interpolate0;
                return function () {
                    var string0 = Object(d3_selection__WEBPACK_IMPORTED_MODULE_1__['style'])(this, name);
                    return string0 === string1 ? null : string0 === string00 ? interpolate0 : interpolate0 = interpolate(string00 = string0, value1);
                };
            }
            function styleFunction(name, interpolate, value) {
                var string00, string10, interpolate0;
                return function () {
                    var string0 = Object(d3_selection__WEBPACK_IMPORTED_MODULE_1__['style'])(this, name), value1 = value(this), string1 = value1 + '';
                    if (value1 == null)
                        string1 = value1 = (this.style.removeProperty(name), Object(d3_selection__WEBPACK_IMPORTED_MODULE_1__['style'])(this, name));
                    return string0 === string1 ? null : string0 === string00 && string1 === string10 ? interpolate0 : (string10 = string1, interpolate0 = interpolate(string00 = string0, value1));
                };
            }
            function styleMaybeRemove(id, name) {
                var on0, on1, listener0, key = 'style.' + name, event = 'end.' + key, remove;
                return function () {
                    var schedule = Object(_schedule_js__WEBPACK_IMPORTED_MODULE_2__['set'])(this, id), on = schedule.on, listener = schedule.value[key] == null ? remove || (remove = styleRemove(name)) : undefined;
                    if (on !== on0 || listener0 !== listener)
                        (on1 = (on0 = on).copy()).on(event, listener0 = listener);
                    schedule.on = on1;
                };
            }
            __webpack_exports__['default'] = function (name, value, priority) {
                var i = (name += '') === 'transform' ? d3_interpolate__WEBPACK_IMPORTED_MODULE_0__['interpolateTransformCss'] : _interpolate_js__WEBPACK_IMPORTED_MODULE_4__['default'];
                return value == null ? this.styleTween(name, styleNull(name, i)).on('end.style.' + name, styleRemove(name)) : typeof value === 'function' ? this.styleTween(name, styleFunction(name, i, Object(_tween_js__WEBPACK_IMPORTED_MODULE_3__['tweenValue'])(this, 'style.' + name, value))).each(styleMaybeRemove(this._id, name)) : this.styleTween(name, styleConstant(name, i, value), priority).on('end.style.' + name, null);
            };
        },
        './node_modules/d3-transition/src/transition/styleTween.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function styleInterpolate(name, i, priority) {
                return function (t) {
                    this.style.setProperty(name, i.call(this, t), priority);
                };
            }
            function styleTween(name, value, priority) {
                var t, i0;
                function tween() {
                    var i = value.apply(this, arguments);
                    if (i !== i0)
                        t = (i0 = i) && styleInterpolate(name, i, priority);
                    return t;
                }
                tween._value = value;
                return tween;
            }
            __webpack_exports__['default'] = function (name, value, priority) {
                var key = 'style.' + (name += '');
                if (arguments.length < 2)
                    return (key = this.tween(key)) && key._value;
                if (value == null)
                    return this.tween(key, null);
                if (typeof value !== 'function')
                    throw new Error();
                return this.tween(key, styleTween(name, value, priority == null ? '' : priority));
            };
        },
        './node_modules/d3-transition/src/transition/text.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _tween_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-transition/src/transition/tween.js');
            function textConstant(value) {
                return function () {
                    this.textContent = value;
                };
            }
            function textFunction(value) {
                return function () {
                    var value1 = value(this);
                    this.textContent = value1 == null ? '' : value1;
                };
            }
            __webpack_exports__['default'] = function (value) {
                return this.tween('text', typeof value === 'function' ? textFunction(Object(_tween_js__WEBPACK_IMPORTED_MODULE_0__['tweenValue'])(this, 'text', value)) : textConstant(value == null ? '' : value + ''));
            };
        },
        './node_modules/d3-transition/src/transition/textTween.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            function textInterpolate(i) {
                return function (t) {
                    this.textContent = i.call(this, t);
                };
            }
            function textTween(value) {
                var t0, i0;
                function tween() {
                    var i = value.apply(this, arguments);
                    if (i !== i0)
                        t0 = (i0 = i) && textInterpolate(i);
                    return t0;
                }
                tween._value = value;
                return tween;
            }
            __webpack_exports__['default'] = function (value) {
                var key = 'text';
                if (arguments.length < 1)
                    return (key = this.tween(key)) && key._value;
                if (value == null)
                    return this.tween(key, null);
                if (typeof value !== 'function')
                    throw new Error();
                return this.tween(key, textTween(value));
            };
        },
        './node_modules/d3-transition/src/transition/transition.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _index_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-transition/src/transition/index.js');
            var _schedule_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-transition/src/transition/schedule.js');
            __webpack_exports__['default'] = function () {
                var name = this._name, id0 = this._id, id1 = Object(_index_js__WEBPACK_IMPORTED_MODULE_0__['newId'])();
                for (var groups = this._groups, m = groups.length, j = 0; j < m; ++j) {
                    for (var group = groups[j], n = group.length, node, i = 0; i < n; ++i) {
                        if (node = group[i]) {
                            var inherit = Object(_schedule_js__WEBPACK_IMPORTED_MODULE_1__['get'])(node, id0);
                            Object(_schedule_js__WEBPACK_IMPORTED_MODULE_1__['default'])(node, name, id1, i, group, {
                                time: inherit.time + inherit.delay + inherit.duration,
                                delay: 0,
                                duration: inherit.duration,
                                ease: inherit.ease
                            });
                        }
                    }
                }
                return new _index_js__WEBPACK_IMPORTED_MODULE_0__['Transition'](groups, this._parents, name, id1);
            };
        },
        './node_modules/d3-transition/src/transition/tween.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'tweenValue', function () {
                return tweenValue;
            });
            var _schedule_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-transition/src/transition/schedule.js');
            function tweenRemove(id, name) {
                var tween0, tween1;
                return function () {
                    var schedule = Object(_schedule_js__WEBPACK_IMPORTED_MODULE_0__['set'])(this, id), tween = schedule.tween;
                    if (tween !== tween0) {
                        tween1 = tween0 = tween;
                        for (var i = 0, n = tween1.length; i < n; ++i) {
                            if (tween1[i].name === name) {
                                tween1 = tween1.slice();
                                tween1.splice(i, 1);
                                break;
                            }
                        }
                    }
                    schedule.tween = tween1;
                };
            }
            function tweenFunction(id, name, value) {
                var tween0, tween1;
                if (typeof value !== 'function')
                    throw new Error();
                return function () {
                    var schedule = Object(_schedule_js__WEBPACK_IMPORTED_MODULE_0__['set'])(this, id), tween = schedule.tween;
                    if (tween !== tween0) {
                        tween1 = (tween0 = tween).slice();
                        for (var t = {
                                    name: name,
                                    value: value
                                }, i = 0, n = tween1.length; i < n; ++i) {
                            if (tween1[i].name === name) {
                                tween1[i] = t;
                                break;
                            }
                        }
                        if (i === n)
                            tween1.push(t);
                    }
                    schedule.tween = tween1;
                };
            }
            __webpack_exports__['default'] = function (name, value) {
                var id = this._id;
                name += '';
                if (arguments.length < 2) {
                    var tween = Object(_schedule_js__WEBPACK_IMPORTED_MODULE_0__['get'])(this.node(), id).tween;
                    for (var i = 0, n = tween.length, t; i < n; ++i) {
                        if ((t = tween[i]).name === name) {
                            return t.value;
                        }
                    }
                    return null;
                }
                return this.each((value == null ? tweenRemove : tweenFunction)(id, name, value));
            };
            function tweenValue(transition, name, value) {
                var id = transition._id;
                transition.each(function () {
                    var schedule = Object(_schedule_js__WEBPACK_IMPORTED_MODULE_0__['set'])(this, id);
                    (schedule.value || (schedule.value = {}))[name] = value.apply(this, arguments);
                });
                return function (node) {
                    return Object(_schedule_js__WEBPACK_IMPORTED_MODULE_0__['get'])(node, id).value[name];
                };
            }
        },
        './node_modules/d3-voronoi/src/Beach.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'removeBeach', function () {
                return removeBeach;
            });
            __webpack_require__.d(__webpack_exports__, 'addBeach', function () {
                return addBeach;
            });
            var _RedBlackTree__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-voronoi/src/RedBlackTree.js');
            var _Cell__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-voronoi/src/Cell.js');
            var _Circle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-voronoi/src/Circle.js');
            var _Edge__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-voronoi/src/Edge.js');
            var _Diagram__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-voronoi/src/Diagram.js');
            var beachPool = [];
            function Beach() {
                Object(_RedBlackTree__WEBPACK_IMPORTED_MODULE_0__['RedBlackNode'])(this);
                this.edge = this.site = this.circle = null;
            }
            function createBeach(site) {
                var beach = beachPool.pop() || new Beach();
                beach.site = site;
                return beach;
            }
            function detachBeach(beach) {
                Object(_Circle__WEBPACK_IMPORTED_MODULE_2__['detachCircle'])(beach);
                _Diagram__WEBPACK_IMPORTED_MODULE_4__['beaches'].remove(beach);
                beachPool.push(beach);
                Object(_RedBlackTree__WEBPACK_IMPORTED_MODULE_0__['RedBlackNode'])(beach);
            }
            function removeBeach(beach) {
                var circle = beach.circle, x = circle.x, y = circle.cy, vertex = [
                        x,
                        y
                    ], previous = beach.P, next = beach.N, disappearing = [beach];
                detachBeach(beach);
                var lArc = previous;
                while (lArc.circle && Math.abs(x - lArc.circle.x) < _Diagram__WEBPACK_IMPORTED_MODULE_4__['epsilon'] && Math.abs(y - lArc.circle.cy) < _Diagram__WEBPACK_IMPORTED_MODULE_4__['epsilon']) {
                    previous = lArc.P;
                    disappearing.unshift(lArc);
                    detachBeach(lArc);
                    lArc = previous;
                }
                disappearing.unshift(lArc);
                Object(_Circle__WEBPACK_IMPORTED_MODULE_2__['detachCircle'])(lArc);
                var rArc = next;
                while (rArc.circle && Math.abs(x - rArc.circle.x) < _Diagram__WEBPACK_IMPORTED_MODULE_4__['epsilon'] && Math.abs(y - rArc.circle.cy) < _Diagram__WEBPACK_IMPORTED_MODULE_4__['epsilon']) {
                    next = rArc.N;
                    disappearing.push(rArc);
                    detachBeach(rArc);
                    rArc = next;
                }
                disappearing.push(rArc);
                Object(_Circle__WEBPACK_IMPORTED_MODULE_2__['detachCircle'])(rArc);
                var nArcs = disappearing.length, iArc;
                for (iArc = 1; iArc < nArcs; ++iArc) {
                    rArc = disappearing[iArc];
                    lArc = disappearing[iArc - 1];
                    Object(_Edge__WEBPACK_IMPORTED_MODULE_3__['setEdgeEnd'])(rArc.edge, lArc.site, rArc.site, vertex);
                }
                lArc = disappearing[0];
                rArc = disappearing[nArcs - 1];
                rArc.edge = Object(_Edge__WEBPACK_IMPORTED_MODULE_3__['createEdge'])(lArc.site, rArc.site, null, vertex);
                Object(_Circle__WEBPACK_IMPORTED_MODULE_2__['attachCircle'])(lArc);
                Object(_Circle__WEBPACK_IMPORTED_MODULE_2__['attachCircle'])(rArc);
            }
            function addBeach(site) {
                var x = site[0], directrix = site[1], lArc, rArc, dxl, dxr, node = _Diagram__WEBPACK_IMPORTED_MODULE_4__['beaches']._;
                while (node) {
                    dxl = leftBreakPoint(node, directrix) - x;
                    if (dxl > _Diagram__WEBPACK_IMPORTED_MODULE_4__['epsilon'])
                        node = node.L;
                    else {
                        dxr = x - rightBreakPoint(node, directrix);
                        if (dxr > _Diagram__WEBPACK_IMPORTED_MODULE_4__['epsilon']) {
                            if (!node.R) {
                                lArc = node;
                                break;
                            }
                            node = node.R;
                        } else {
                            if (dxl > -_Diagram__WEBPACK_IMPORTED_MODULE_4__['epsilon']) {
                                lArc = node.P;
                                rArc = node;
                            } else if (dxr > -_Diagram__WEBPACK_IMPORTED_MODULE_4__['epsilon']) {
                                lArc = node;
                                rArc = node.N;
                            } else {
                                lArc = rArc = node;
                            }
                            break;
                        }
                    }
                }
                Object(_Cell__WEBPACK_IMPORTED_MODULE_1__['createCell'])(site);
                var newArc = createBeach(site);
                _Diagram__WEBPACK_IMPORTED_MODULE_4__['beaches'].insert(lArc, newArc);
                if (!lArc && !rArc)
                    return;
                if (lArc === rArc) {
                    Object(_Circle__WEBPACK_IMPORTED_MODULE_2__['detachCircle'])(lArc);
                    rArc = createBeach(lArc.site);
                    _Diagram__WEBPACK_IMPORTED_MODULE_4__['beaches'].insert(newArc, rArc);
                    newArc.edge = rArc.edge = Object(_Edge__WEBPACK_IMPORTED_MODULE_3__['createEdge'])(lArc.site, newArc.site);
                    Object(_Circle__WEBPACK_IMPORTED_MODULE_2__['attachCircle'])(lArc);
                    Object(_Circle__WEBPACK_IMPORTED_MODULE_2__['attachCircle'])(rArc);
                    return;
                }
                if (!rArc) {
                    newArc.edge = Object(_Edge__WEBPACK_IMPORTED_MODULE_3__['createEdge'])(lArc.site, newArc.site);
                    return;
                }
                Object(_Circle__WEBPACK_IMPORTED_MODULE_2__['detachCircle'])(lArc);
                Object(_Circle__WEBPACK_IMPORTED_MODULE_2__['detachCircle'])(rArc);
                var lSite = lArc.site, ax = lSite[0], ay = lSite[1], bx = site[0] - ax, by = site[1] - ay, rSite = rArc.site, cx = rSite[0] - ax, cy = rSite[1] - ay, d = 2 * (bx * cy - by * cx), hb = bx * bx + by * by, hc = cx * cx + cy * cy, vertex = [
                        (cy * hb - by * hc) / d + ax,
                        (bx * hc - cx * hb) / d + ay
                    ];
                Object(_Edge__WEBPACK_IMPORTED_MODULE_3__['setEdgeEnd'])(rArc.edge, lSite, rSite, vertex);
                newArc.edge = Object(_Edge__WEBPACK_IMPORTED_MODULE_3__['createEdge'])(lSite, site, null, vertex);
                rArc.edge = Object(_Edge__WEBPACK_IMPORTED_MODULE_3__['createEdge'])(site, rSite, null, vertex);
                Object(_Circle__WEBPACK_IMPORTED_MODULE_2__['attachCircle'])(lArc);
                Object(_Circle__WEBPACK_IMPORTED_MODULE_2__['attachCircle'])(rArc);
            }
            function leftBreakPoint(arc, directrix) {
                var site = arc.site, rfocx = site[0], rfocy = site[1], pby2 = rfocy - directrix;
                if (!pby2)
                    return rfocx;
                var lArc = arc.P;
                if (!lArc)
                    return -Infinity;
                site = lArc.site;
                var lfocx = site[0], lfocy = site[1], plby2 = lfocy - directrix;
                if (!plby2)
                    return lfocx;
                var hl = lfocx - rfocx, aby2 = 1 / pby2 - 1 / plby2, b = hl / plby2;
                if (aby2)
                    return (-b + Math.sqrt(b * b - 2 * aby2 * (hl * hl / (-2 * plby2) - lfocy + plby2 / 2 + rfocy - pby2 / 2))) / aby2 + rfocx;
                return (rfocx + lfocx) / 2;
            }
            function rightBreakPoint(arc, directrix) {
                var rArc = arc.N;
                if (rArc)
                    return leftBreakPoint(rArc, directrix);
                var site = arc.site;
                return site[1] === directrix ? site[0] : Infinity;
            }
        },
        './node_modules/d3-voronoi/src/Cell.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'createCell', function () {
                return createCell;
            });
            __webpack_require__.d(__webpack_exports__, 'cellHalfedgeStart', function () {
                return cellHalfedgeStart;
            });
            __webpack_require__.d(__webpack_exports__, 'cellHalfedgeEnd', function () {
                return cellHalfedgeEnd;
            });
            __webpack_require__.d(__webpack_exports__, 'sortCellHalfedges', function () {
                return sortCellHalfedges;
            });
            __webpack_require__.d(__webpack_exports__, 'clipCells', function () {
                return clipCells;
            });
            var _Edge__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-voronoi/src/Edge.js');
            var _Diagram__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-voronoi/src/Diagram.js');
            function createCell(site) {
                return _Diagram__WEBPACK_IMPORTED_MODULE_1__['cells'][site.index] = {
                    site: site,
                    halfedges: []
                };
            }
            function cellHalfedgeAngle(cell, edge) {
                var site = cell.site, va = edge.left, vb = edge.right;
                if (site === vb)
                    vb = va, va = site;
                if (vb)
                    return Math.atan2(vb[1] - va[1], vb[0] - va[0]);
                if (site === va)
                    va = edge[1], vb = edge[0];
                else
                    va = edge[0], vb = edge[1];
                return Math.atan2(va[0] - vb[0], vb[1] - va[1]);
            }
            function cellHalfedgeStart(cell, edge) {
                return edge[+(edge.left !== cell.site)];
            }
            function cellHalfedgeEnd(cell, edge) {
                return edge[+(edge.left === cell.site)];
            }
            function sortCellHalfedges() {
                for (var i = 0, n = _Diagram__WEBPACK_IMPORTED_MODULE_1__['cells'].length, cell, halfedges, j, m; i < n; ++i) {
                    if ((cell = _Diagram__WEBPACK_IMPORTED_MODULE_1__['cells'][i]) && (m = (halfedges = cell.halfedges).length)) {
                        var index = new Array(m), array = new Array(m);
                        for (j = 0; j < m; ++j)
                            index[j] = j, array[j] = cellHalfedgeAngle(cell, _Diagram__WEBPACK_IMPORTED_MODULE_1__['edges'][halfedges[j]]);
                        index.sort(function (i, j) {
                            return array[j] - array[i];
                        });
                        for (j = 0; j < m; ++j)
                            array[j] = halfedges[index[j]];
                        for (j = 0; j < m; ++j)
                            halfedges[j] = array[j];
                    }
                }
            }
            function clipCells(x0, y0, x1, y1) {
                var nCells = _Diagram__WEBPACK_IMPORTED_MODULE_1__['cells'].length, iCell, cell, site, iHalfedge, halfedges, nHalfedges, start, startX, startY, end, endX, endY, cover = true;
                for (iCell = 0; iCell < nCells; ++iCell) {
                    if (cell = _Diagram__WEBPACK_IMPORTED_MODULE_1__['cells'][iCell]) {
                        site = cell.site;
                        halfedges = cell.halfedges;
                        iHalfedge = halfedges.length;
                        while (iHalfedge--) {
                            if (!_Diagram__WEBPACK_IMPORTED_MODULE_1__['edges'][halfedges[iHalfedge]]) {
                                halfedges.splice(iHalfedge, 1);
                            }
                        }
                        iHalfedge = 0, nHalfedges = halfedges.length;
                        while (iHalfedge < nHalfedges) {
                            end = cellHalfedgeEnd(cell, _Diagram__WEBPACK_IMPORTED_MODULE_1__['edges'][halfedges[iHalfedge]]), endX = end[0], endY = end[1];
                            start = cellHalfedgeStart(cell, _Diagram__WEBPACK_IMPORTED_MODULE_1__['edges'][halfedges[++iHalfedge % nHalfedges]]), startX = start[0], startY = start[1];
                            if (Math.abs(endX - startX) > _Diagram__WEBPACK_IMPORTED_MODULE_1__['epsilon'] || Math.abs(endY - startY) > _Diagram__WEBPACK_IMPORTED_MODULE_1__['epsilon']) {
                                halfedges.splice(iHalfedge, 0, _Diagram__WEBPACK_IMPORTED_MODULE_1__['edges'].push(Object(_Edge__WEBPACK_IMPORTED_MODULE_0__['createBorderEdge'])(site, end, Math.abs(endX - x0) < _Diagram__WEBPACK_IMPORTED_MODULE_1__['epsilon'] && y1 - endY > _Diagram__WEBPACK_IMPORTED_MODULE_1__['epsilon'] ? [
                                    x0,
                                    Math.abs(startX - x0) < _Diagram__WEBPACK_IMPORTED_MODULE_1__['epsilon'] ? startY : y1
                                ] : Math.abs(endY - y1) < _Diagram__WEBPACK_IMPORTED_MODULE_1__['epsilon'] && x1 - endX > _Diagram__WEBPACK_IMPORTED_MODULE_1__['epsilon'] ? [
                                    Math.abs(startY - y1) < _Diagram__WEBPACK_IMPORTED_MODULE_1__['epsilon'] ? startX : x1,
                                    y1
                                ] : Math.abs(endX - x1) < _Diagram__WEBPACK_IMPORTED_MODULE_1__['epsilon'] && endY - y0 > _Diagram__WEBPACK_IMPORTED_MODULE_1__['epsilon'] ? [
                                    x1,
                                    Math.abs(startX - x1) < _Diagram__WEBPACK_IMPORTED_MODULE_1__['epsilon'] ? startY : y0
                                ] : Math.abs(endY - y0) < _Diagram__WEBPACK_IMPORTED_MODULE_1__['epsilon'] && endX - x0 > _Diagram__WEBPACK_IMPORTED_MODULE_1__['epsilon'] ? [
                                    Math.abs(startY - y0) < _Diagram__WEBPACK_IMPORTED_MODULE_1__['epsilon'] ? startX : x0,
                                    y0
                                ] : null)) - 1);
                                ++nHalfedges;
                            }
                        }
                        if (nHalfedges)
                            cover = false;
                    }
                }
                if (cover) {
                    var dx, dy, d2, dc = Infinity;
                    for (iCell = 0, cover = null; iCell < nCells; ++iCell) {
                        if (cell = _Diagram__WEBPACK_IMPORTED_MODULE_1__['cells'][iCell]) {
                            site = cell.site;
                            dx = site[0] - x0;
                            dy = site[1] - y0;
                            d2 = dx * dx + dy * dy;
                            if (d2 < dc)
                                dc = d2, cover = cell;
                        }
                    }
                    if (cover) {
                        var v00 = [
                                x0,
                                y0
                            ], v01 = [
                                x0,
                                y1
                            ], v11 = [
                                x1,
                                y1
                            ], v10 = [
                                x1,
                                y0
                            ];
                        cover.halfedges.push(_Diagram__WEBPACK_IMPORTED_MODULE_1__['edges'].push(Object(_Edge__WEBPACK_IMPORTED_MODULE_0__['createBorderEdge'])(site = cover.site, v00, v01)) - 1, _Diagram__WEBPACK_IMPORTED_MODULE_1__['edges'].push(Object(_Edge__WEBPACK_IMPORTED_MODULE_0__['createBorderEdge'])(site, v01, v11)) - 1, _Diagram__WEBPACK_IMPORTED_MODULE_1__['edges'].push(Object(_Edge__WEBPACK_IMPORTED_MODULE_0__['createBorderEdge'])(site, v11, v10)) - 1, _Diagram__WEBPACK_IMPORTED_MODULE_1__['edges'].push(Object(_Edge__WEBPACK_IMPORTED_MODULE_0__['createBorderEdge'])(site, v10, v00)) - 1);
                    }
                }
                for (iCell = 0; iCell < nCells; ++iCell) {
                    if (cell = _Diagram__WEBPACK_IMPORTED_MODULE_1__['cells'][iCell]) {
                        if (!cell.halfedges.length) {
                            delete _Diagram__WEBPACK_IMPORTED_MODULE_1__['cells'][iCell];
                        }
                    }
                }
            }
        },
        './node_modules/d3-voronoi/src/Circle.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'firstCircle', function () {
                return firstCircle;
            });
            __webpack_require__.d(__webpack_exports__, 'attachCircle', function () {
                return attachCircle;
            });
            __webpack_require__.d(__webpack_exports__, 'detachCircle', function () {
                return detachCircle;
            });
            var _RedBlackTree__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-voronoi/src/RedBlackTree.js');
            var _Diagram__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-voronoi/src/Diagram.js');
            var circlePool = [];
            var firstCircle;
            function Circle() {
                Object(_RedBlackTree__WEBPACK_IMPORTED_MODULE_0__['RedBlackNode'])(this);
                this.x = this.y = this.arc = this.site = this.cy = null;
            }
            function attachCircle(arc) {
                var lArc = arc.P, rArc = arc.N;
                if (!lArc || !rArc)
                    return;
                var lSite = lArc.site, cSite = arc.site, rSite = rArc.site;
                if (lSite === rSite)
                    return;
                var bx = cSite[0], by = cSite[1], ax = lSite[0] - bx, ay = lSite[1] - by, cx = rSite[0] - bx, cy = rSite[1] - by;
                var d = 2 * (ax * cy - ay * cx);
                if (d >= -_Diagram__WEBPACK_IMPORTED_MODULE_1__['epsilon2'])
                    return;
                var ha = ax * ax + ay * ay, hc = cx * cx + cy * cy, x = (cy * ha - ay * hc) / d, y = (ax * hc - cx * ha) / d;
                var circle = circlePool.pop() || new Circle();
                circle.arc = arc;
                circle.site = cSite;
                circle.x = x + bx;
                circle.y = (circle.cy = y + by) + Math.sqrt(x * x + y * y);
                arc.circle = circle;
                var before = null, node = _Diagram__WEBPACK_IMPORTED_MODULE_1__['circles']._;
                while (node) {
                    if (circle.y < node.y || circle.y === node.y && circle.x <= node.x) {
                        if (node.L)
                            node = node.L;
                        else {
                            before = node.P;
                            break;
                        }
                    } else {
                        if (node.R)
                            node = node.R;
                        else {
                            before = node;
                            break;
                        }
                    }
                }
                _Diagram__WEBPACK_IMPORTED_MODULE_1__['circles'].insert(before, circle);
                if (!before)
                    firstCircle = circle;
            }
            function detachCircle(arc) {
                var circle = arc.circle;
                if (circle) {
                    if (!circle.P)
                        firstCircle = circle.N;
                    _Diagram__WEBPACK_IMPORTED_MODULE_1__['circles'].remove(circle);
                    circlePool.push(circle);
                    Object(_RedBlackTree__WEBPACK_IMPORTED_MODULE_0__['RedBlackNode'])(circle);
                    arc.circle = null;
                }
            }
        },
        './node_modules/d3-voronoi/src/Diagram.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'epsilon', function () {
                return epsilon;
            });
            __webpack_require__.d(__webpack_exports__, 'epsilon2', function () {
                return epsilon2;
            });
            __webpack_require__.d(__webpack_exports__, 'beaches', function () {
                return beaches;
            });
            __webpack_require__.d(__webpack_exports__, 'cells', function () {
                return cells;
            });
            __webpack_require__.d(__webpack_exports__, 'circles', function () {
                return circles;
            });
            __webpack_require__.d(__webpack_exports__, 'edges', function () {
                return edges;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return Diagram;
            });
            var _Beach__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-voronoi/src/Beach.js');
            var _Cell__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-voronoi/src/Cell.js');
            var _Circle__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-voronoi/src/Circle.js');
            var _Edge__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-voronoi/src/Edge.js');
            var _RedBlackTree__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-voronoi/src/RedBlackTree.js');
            var epsilon = 0.000001;
            var epsilon2 = 1e-12;
            var beaches;
            var cells;
            var circles;
            var edges;
            function triangleArea(a, b, c) {
                return (a[0] - c[0]) * (b[1] - a[1]) - (a[0] - b[0]) * (c[1] - a[1]);
            }
            function lexicographic(a, b) {
                return b[1] - a[1] || b[0] - a[0];
            }
            function Diagram(sites, extent) {
                var site = sites.sort(lexicographic).pop(), x, y, circle;
                edges = [];
                cells = new Array(sites.length);
                beaches = new _RedBlackTree__WEBPACK_IMPORTED_MODULE_4__['default']();
                circles = new _RedBlackTree__WEBPACK_IMPORTED_MODULE_4__['default']();
                while (true) {
                    circle = _Circle__WEBPACK_IMPORTED_MODULE_2__['firstCircle'];
                    if (site && (!circle || site[1] < circle.y || site[1] === circle.y && site[0] < circle.x)) {
                        if (site[0] !== x || site[1] !== y) {
                            Object(_Beach__WEBPACK_IMPORTED_MODULE_0__['addBeach'])(site);
                            x = site[0], y = site[1];
                        }
                        site = sites.pop();
                    } else if (circle) {
                        Object(_Beach__WEBPACK_IMPORTED_MODULE_0__['removeBeach'])(circle.arc);
                    } else {
                        break;
                    }
                }
                Object(_Cell__WEBPACK_IMPORTED_MODULE_1__['sortCellHalfedges'])();
                if (extent) {
                    var x0 = +extent[0][0], y0 = +extent[0][1], x1 = +extent[1][0], y1 = +extent[1][1];
                    Object(_Edge__WEBPACK_IMPORTED_MODULE_3__['clipEdges'])(x0, y0, x1, y1);
                    Object(_Cell__WEBPACK_IMPORTED_MODULE_1__['clipCells'])(x0, y0, x1, y1);
                }
                this.edges = edges;
                this.cells = cells;
                beaches = circles = edges = cells = null;
            }
            Diagram.prototype = {
                constructor: Diagram,
                polygons: function () {
                    var edges = this.edges;
                    return this.cells.map(function (cell) {
                        var polygon = cell.halfedges.map(function (i) {
                            return Object(_Cell__WEBPACK_IMPORTED_MODULE_1__['cellHalfedgeStart'])(cell, edges[i]);
                        });
                        polygon.data = cell.site.data;
                        return polygon;
                    });
                },
                triangles: function () {
                    var triangles = [], edges = this.edges;
                    this.cells.forEach(function (cell, i) {
                        if (!(m = (halfedges = cell.halfedges).length))
                            return;
                        var site = cell.site, halfedges, j = -1, m, s0, e1 = edges[halfedges[m - 1]], s1 = e1.left === site ? e1.right : e1.left;
                        while (++j < m) {
                            s0 = s1;
                            e1 = edges[halfedges[j]];
                            s1 = e1.left === site ? e1.right : e1.left;
                            if (s0 && s1 && i < s0.index && i < s1.index && triangleArea(site, s0, s1) < 0) {
                                triangles.push([
                                    site.data,
                                    s0.data,
                                    s1.data
                                ]);
                            }
                        }
                    });
                    return triangles;
                },
                links: function () {
                    return this.edges.filter(function (edge) {
                        return edge.right;
                    }).map(function (edge) {
                        return {
                            source: edge.left.data,
                            target: edge.right.data
                        };
                    });
                },
                find: function (x, y, radius) {
                    var that = this, i0, i1 = that._found || 0, n = that.cells.length, cell;
                    while (!(cell = that.cells[i1]))
                        if (++i1 >= n)
                            return null;
                    var dx = x - cell.site[0], dy = y - cell.site[1], d2 = dx * dx + dy * dy;
                    do {
                        cell = that.cells[i0 = i1], i1 = null;
                        cell.halfedges.forEach(function (e) {
                            var edge = that.edges[e], v = edge.left;
                            if ((v === cell.site || !v) && !(v = edge.right))
                                return;
                            var vx = x - v[0], vy = y - v[1], v2 = vx * vx + vy * vy;
                            if (v2 < d2)
                                d2 = v2, i1 = v.index;
                        });
                    } while (i1 !== null);
                    that._found = i0;
                    return radius == null || d2 <= radius * radius ? cell.site : null;
                }
            };
        },
        './node_modules/d3-voronoi/src/Edge.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'createEdge', function () {
                return createEdge;
            });
            __webpack_require__.d(__webpack_exports__, 'createBorderEdge', function () {
                return createBorderEdge;
            });
            __webpack_require__.d(__webpack_exports__, 'setEdgeEnd', function () {
                return setEdgeEnd;
            });
            __webpack_require__.d(__webpack_exports__, 'clipEdges', function () {
                return clipEdges;
            });
            var _Diagram__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-voronoi/src/Diagram.js');
            function createEdge(left, right, v0, v1) {
                var edge = [
                        null,
                        null
                    ], index = _Diagram__WEBPACK_IMPORTED_MODULE_0__['edges'].push(edge) - 1;
                edge.left = left;
                edge.right = right;
                if (v0)
                    setEdgeEnd(edge, left, right, v0);
                if (v1)
                    setEdgeEnd(edge, right, left, v1);
                _Diagram__WEBPACK_IMPORTED_MODULE_0__['cells'][left.index].halfedges.push(index);
                _Diagram__WEBPACK_IMPORTED_MODULE_0__['cells'][right.index].halfedges.push(index);
                return edge;
            }
            function createBorderEdge(left, v0, v1) {
                var edge = [
                    v0,
                    v1
                ];
                edge.left = left;
                return edge;
            }
            function setEdgeEnd(edge, left, right, vertex) {
                if (!edge[0] && !edge[1]) {
                    edge[0] = vertex;
                    edge.left = left;
                    edge.right = right;
                } else if (edge.left === right) {
                    edge[1] = vertex;
                } else {
                    edge[0] = vertex;
                }
            }
            function clipEdge(edge, x0, y0, x1, y1) {
                var a = edge[0], b = edge[1], ax = a[0], ay = a[1], bx = b[0], by = b[1], t0 = 0, t1 = 1, dx = bx - ax, dy = by - ay, r;
                r = x0 - ax;
                if (!dx && r > 0)
                    return;
                r /= dx;
                if (dx < 0) {
                    if (r < t0)
                        return;
                    if (r < t1)
                        t1 = r;
                } else if (dx > 0) {
                    if (r > t1)
                        return;
                    if (r > t0)
                        t0 = r;
                }
                r = x1 - ax;
                if (!dx && r < 0)
                    return;
                r /= dx;
                if (dx < 0) {
                    if (r > t1)
                        return;
                    if (r > t0)
                        t0 = r;
                } else if (dx > 0) {
                    if (r < t0)
                        return;
                    if (r < t1)
                        t1 = r;
                }
                r = y0 - ay;
                if (!dy && r > 0)
                    return;
                r /= dy;
                if (dy < 0) {
                    if (r < t0)
                        return;
                    if (r < t1)
                        t1 = r;
                } else if (dy > 0) {
                    if (r > t1)
                        return;
                    if (r > t0)
                        t0 = r;
                }
                r = y1 - ay;
                if (!dy && r < 0)
                    return;
                r /= dy;
                if (dy < 0) {
                    if (r > t1)
                        return;
                    if (r > t0)
                        t0 = r;
                } else if (dy > 0) {
                    if (r < t0)
                        return;
                    if (r < t1)
                        t1 = r;
                }
                if (!(t0 > 0) && !(t1 < 1))
                    return true;
                if (t0 > 0)
                    edge[0] = [
                        ax + t0 * dx,
                        ay + t0 * dy
                    ];
                if (t1 < 1)
                    edge[1] = [
                        ax + t1 * dx,
                        ay + t1 * dy
                    ];
                return true;
            }
            function connectEdge(edge, x0, y0, x1, y1) {
                var v1 = edge[1];
                if (v1)
                    return true;
                var v0 = edge[0], left = edge.left, right = edge.right, lx = left[0], ly = left[1], rx = right[0], ry = right[1], fx = (lx + rx) / 2, fy = (ly + ry) / 2, fm, fb;
                if (ry === ly) {
                    if (fx < x0 || fx >= x1)
                        return;
                    if (lx > rx) {
                        if (!v0)
                            v0 = [
                                fx,
                                y0
                            ];
                        else if (v0[1] >= y1)
                            return;
                        v1 = [
                            fx,
                            y1
                        ];
                    } else {
                        if (!v0)
                            v0 = [
                                fx,
                                y1
                            ];
                        else if (v0[1] < y0)
                            return;
                        v1 = [
                            fx,
                            y0
                        ];
                    }
                } else {
                    fm = (lx - rx) / (ry - ly);
                    fb = fy - fm * fx;
                    if (fm < -1 || fm > 1) {
                        if (lx > rx) {
                            if (!v0)
                                v0 = [
                                    (y0 - fb) / fm,
                                    y0
                                ];
                            else if (v0[1] >= y1)
                                return;
                            v1 = [
                                (y1 - fb) / fm,
                                y1
                            ];
                        } else {
                            if (!v0)
                                v0 = [
                                    (y1 - fb) / fm,
                                    y1
                                ];
                            else if (v0[1] < y0)
                                return;
                            v1 = [
                                (y0 - fb) / fm,
                                y0
                            ];
                        }
                    } else {
                        if (ly < ry) {
                            if (!v0)
                                v0 = [
                                    x0,
                                    fm * x0 + fb
                                ];
                            else if (v0[0] >= x1)
                                return;
                            v1 = [
                                x1,
                                fm * x1 + fb
                            ];
                        } else {
                            if (!v0)
                                v0 = [
                                    x1,
                                    fm * x1 + fb
                                ];
                            else if (v0[0] < x0)
                                return;
                            v1 = [
                                x0,
                                fm * x0 + fb
                            ];
                        }
                    }
                }
                edge[0] = v0;
                edge[1] = v1;
                return true;
            }
            function clipEdges(x0, y0, x1, y1) {
                var i = _Diagram__WEBPACK_IMPORTED_MODULE_0__['edges'].length, edge;
                while (i--) {
                    if (!connectEdge(edge = _Diagram__WEBPACK_IMPORTED_MODULE_0__['edges'][i], x0, y0, x1, y1) || !clipEdge(edge, x0, y0, x1, y1) || !(Math.abs(edge[0][0] - edge[1][0]) > _Diagram__WEBPACK_IMPORTED_MODULE_0__['epsilon'] || Math.abs(edge[0][1] - edge[1][1]) > _Diagram__WEBPACK_IMPORTED_MODULE_0__['epsilon'])) {
                        delete _Diagram__WEBPACK_IMPORTED_MODULE_0__['edges'][i];
                    }
                }
            }
        },
        './node_modules/d3-voronoi/src/RedBlackTree.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'RedBlackNode', function () {
                return RedBlackNode;
            });
            function RedBlackTree() {
                this._ = null;
            }
            function RedBlackNode(node) {
                node.U = node.C = node.L = node.R = node.P = node.N = null;
            }
            RedBlackTree.prototype = {
                constructor: RedBlackTree,
                insert: function (after, node) {
                    var parent, grandpa, uncle;
                    if (after) {
                        node.P = after;
                        node.N = after.N;
                        if (after.N)
                            after.N.P = node;
                        after.N = node;
                        if (after.R) {
                            after = after.R;
                            while (after.L)
                                after = after.L;
                            after.L = node;
                        } else {
                            after.R = node;
                        }
                        parent = after;
                    } else if (this._) {
                        after = RedBlackFirst(this._);
                        node.P = null;
                        node.N = after;
                        after.P = after.L = node;
                        parent = after;
                    } else {
                        node.P = node.N = null;
                        this._ = node;
                        parent = null;
                    }
                    node.L = node.R = null;
                    node.U = parent;
                    node.C = true;
                    after = node;
                    while (parent && parent.C) {
                        grandpa = parent.U;
                        if (parent === grandpa.L) {
                            uncle = grandpa.R;
                            if (uncle && uncle.C) {
                                parent.C = uncle.C = false;
                                grandpa.C = true;
                                after = grandpa;
                            } else {
                                if (after === parent.R) {
                                    RedBlackRotateLeft(this, parent);
                                    after = parent;
                                    parent = after.U;
                                }
                                parent.C = false;
                                grandpa.C = true;
                                RedBlackRotateRight(this, grandpa);
                            }
                        } else {
                            uncle = grandpa.L;
                            if (uncle && uncle.C) {
                                parent.C = uncle.C = false;
                                grandpa.C = true;
                                after = grandpa;
                            } else {
                                if (after === parent.L) {
                                    RedBlackRotateRight(this, parent);
                                    after = parent;
                                    parent = after.U;
                                }
                                parent.C = false;
                                grandpa.C = true;
                                RedBlackRotateLeft(this, grandpa);
                            }
                        }
                        parent = after.U;
                    }
                    this._.C = false;
                },
                remove: function (node) {
                    if (node.N)
                        node.N.P = node.P;
                    if (node.P)
                        node.P.N = node.N;
                    node.N = node.P = null;
                    var parent = node.U, sibling, left = node.L, right = node.R, next, red;
                    if (!left)
                        next = right;
                    else if (!right)
                        next = left;
                    else
                        next = RedBlackFirst(right);
                    if (parent) {
                        if (parent.L === node)
                            parent.L = next;
                        else
                            parent.R = next;
                    } else {
                        this._ = next;
                    }
                    if (left && right) {
                        red = next.C;
                        next.C = node.C;
                        next.L = left;
                        left.U = next;
                        if (next !== right) {
                            parent = next.U;
                            next.U = node.U;
                            node = next.R;
                            parent.L = node;
                            next.R = right;
                            right.U = next;
                        } else {
                            next.U = parent;
                            parent = next;
                            node = next.R;
                        }
                    } else {
                        red = node.C;
                        node = next;
                    }
                    if (node)
                        node.U = parent;
                    if (red)
                        return;
                    if (node && node.C) {
                        node.C = false;
                        return;
                    }
                    do {
                        if (node === this._)
                            break;
                        if (node === parent.L) {
                            sibling = parent.R;
                            if (sibling.C) {
                                sibling.C = false;
                                parent.C = true;
                                RedBlackRotateLeft(this, parent);
                                sibling = parent.R;
                            }
                            if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {
                                if (!sibling.R || !sibling.R.C) {
                                    sibling.L.C = false;
                                    sibling.C = true;
                                    RedBlackRotateRight(this, sibling);
                                    sibling = parent.R;
                                }
                                sibling.C = parent.C;
                                parent.C = sibling.R.C = false;
                                RedBlackRotateLeft(this, parent);
                                node = this._;
                                break;
                            }
                        } else {
                            sibling = parent.L;
                            if (sibling.C) {
                                sibling.C = false;
                                parent.C = true;
                                RedBlackRotateRight(this, parent);
                                sibling = parent.L;
                            }
                            if (sibling.L && sibling.L.C || sibling.R && sibling.R.C) {
                                if (!sibling.L || !sibling.L.C) {
                                    sibling.R.C = false;
                                    sibling.C = true;
                                    RedBlackRotateLeft(this, sibling);
                                    sibling = parent.L;
                                }
                                sibling.C = parent.C;
                                parent.C = sibling.L.C = false;
                                RedBlackRotateRight(this, parent);
                                node = this._;
                                break;
                            }
                        }
                        sibling.C = true;
                        node = parent;
                        parent = parent.U;
                    } while (!node.C);
                    if (node)
                        node.C = false;
                }
            };
            function RedBlackRotateLeft(tree, node) {
                var p = node, q = node.R, parent = p.U;
                if (parent) {
                    if (parent.L === p)
                        parent.L = q;
                    else
                        parent.R = q;
                } else {
                    tree._ = q;
                }
                q.U = parent;
                p.U = q;
                p.R = q.L;
                if (p.R)
                    p.R.U = p;
                q.L = p;
            }
            function RedBlackRotateRight(tree, node) {
                var p = node, q = node.L, parent = p.U;
                if (parent) {
                    if (parent.L === p)
                        parent.L = q;
                    else
                        parent.R = q;
                } else {
                    tree._ = q;
                }
                q.U = parent;
                p.U = q;
                p.L = q.R;
                if (p.L)
                    p.L.U = p;
                q.R = p;
            }
            function RedBlackFirst(node) {
                while (node.L)
                    node = node.L;
                return node;
            }
            __webpack_exports__['default'] = RedBlackTree;
        },
        './node_modules/d3-voronoi/src/constant.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return function () {
                    return x;
                };
            };
        },
        './node_modules/d3-voronoi/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _voronoi__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-voronoi/src/voronoi.js');
            __webpack_require__.d(__webpack_exports__, 'voronoi', function () {
                return _voronoi__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
        },
        './node_modules/d3-voronoi/src/point.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'x', function () {
                return x;
            });
            __webpack_require__.d(__webpack_exports__, 'y', function () {
                return y;
            });
            function x(d) {
                return d[0];
            }
            function y(d) {
                return d[1];
            }
        },
        './node_modules/d3-voronoi/src/voronoi.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _constant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-voronoi/src/constant.js');
            var _point__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-voronoi/src/point.js');
            var _Diagram__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-voronoi/src/Diagram.js');
            __webpack_exports__['default'] = function () {
                var x = _point__WEBPACK_IMPORTED_MODULE_1__['x'], y = _point__WEBPACK_IMPORTED_MODULE_1__['y'], extent = null;
                function voronoi(data) {
                    return new _Diagram__WEBPACK_IMPORTED_MODULE_2__['default'](data.map(function (d, i) {
                        var s = [
                            Math.round(x(d, i, data) / _Diagram__WEBPACK_IMPORTED_MODULE_2__['epsilon']) * _Diagram__WEBPACK_IMPORTED_MODULE_2__['epsilon'],
                            Math.round(y(d, i, data) / _Diagram__WEBPACK_IMPORTED_MODULE_2__['epsilon']) * _Diagram__WEBPACK_IMPORTED_MODULE_2__['epsilon']
                        ];
                        s.index = i;
                        s.data = d;
                        return s;
                    }), extent);
                }
                voronoi.polygons = function (data) {
                    return voronoi(data).polygons();
                };
                voronoi.links = function (data) {
                    return voronoi(data).links();
                };
                voronoi.triangles = function (data) {
                    return voronoi(data).triangles();
                };
                voronoi.x = function (_) {
                    return arguments.length ? (x = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(+_), voronoi) : x;
                };
                voronoi.y = function (_) {
                    return arguments.length ? (y = typeof _ === 'function' ? _ : Object(_constant__WEBPACK_IMPORTED_MODULE_0__['default'])(+_), voronoi) : y;
                };
                voronoi.extent = function (_) {
                    return arguments.length ? (extent = _ == null ? null : [
                        [
                            +_[0][0],
                            +_[0][1]
                        ],
                        [
                            +_[1][0],
                            +_[1][1]
                        ]
                    ], voronoi) : extent && [
                        [
                            extent[0][0],
                            extent[0][1]
                        ],
                        [
                            extent[1][0],
                            extent[1][1]
                        ]
                    ];
                };
                voronoi.size = function (_) {
                    return arguments.length ? (extent = _ == null ? null : [
                        [
                            0,
                            0
                        ],
                        [
                            +_[0],
                            +_[1]
                        ]
                    ], voronoi) : extent && [
                        extent[1][0] - extent[0][0],
                        extent[1][1] - extent[0][1]
                    ];
                };
                return voronoi;
            };
        },
        './node_modules/d3-zoom/src/constant.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_exports__['default'] = function (x) {
                return function () {
                    return x;
                };
            };
        },
        './node_modules/d3-zoom/src/event.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return ZoomEvent;
            });
            function ZoomEvent(target, type, transform) {
                this.target = target;
                this.type = type;
                this.transform = transform;
            }
        },
        './node_modules/d3-zoom/src/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _zoom_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-zoom/src/zoom.js');
            __webpack_require__.d(__webpack_exports__, 'zoom', function () {
                return _zoom_js__WEBPACK_IMPORTED_MODULE_0__['default'];
            });
            var _transform_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-zoom/src/transform.js');
            __webpack_require__.d(__webpack_exports__, 'zoomTransform', function () {
                return _transform_js__WEBPACK_IMPORTED_MODULE_1__['default'];
            });
            __webpack_require__.d(__webpack_exports__, 'zoomIdentity', function () {
                return _transform_js__WEBPACK_IMPORTED_MODULE_1__['identity'];
            });
        },
        './node_modules/d3-zoom/src/noevent.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'nopropagation', function () {
                return nopropagation;
            });
            var d3_selection__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            function nopropagation() {
                d3_selection__WEBPACK_IMPORTED_MODULE_0__['event'].stopImmediatePropagation();
            }
            __webpack_exports__['default'] = function () {
                d3_selection__WEBPACK_IMPORTED_MODULE_0__['event'].preventDefault();
                d3_selection__WEBPACK_IMPORTED_MODULE_0__['event'].stopImmediatePropagation();
            };
        },
        './node_modules/d3-zoom/src/transform.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'Transform', function () {
                return Transform;
            });
            __webpack_require__.d(__webpack_exports__, 'identity', function () {
                return identity;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return transform;
            });
            function Transform(k, x, y) {
                this.k = k;
                this.x = x;
                this.y = y;
            }
            Transform.prototype = {
                constructor: Transform,
                scale: function (k) {
                    return k === 1 ? this : new Transform(this.k * k, this.x, this.y);
                },
                translate: function (x, y) {
                    return x === 0 & y === 0 ? this : new Transform(this.k, this.x + this.k * x, this.y + this.k * y);
                },
                apply: function (point) {
                    return [
                        point[0] * this.k + this.x,
                        point[1] * this.k + this.y
                    ];
                },
                applyX: function (x) {
                    return x * this.k + this.x;
                },
                applyY: function (y) {
                    return y * this.k + this.y;
                },
                invert: function (location) {
                    return [
                        (location[0] - this.x) / this.k,
                        (location[1] - this.y) / this.k
                    ];
                },
                invertX: function (x) {
                    return (x - this.x) / this.k;
                },
                invertY: function (y) {
                    return (y - this.y) / this.k;
                },
                rescaleX: function (x) {
                    return x.copy().domain(x.range().map(this.invertX, this).map(x.invert, x));
                },
                rescaleY: function (y) {
                    return y.copy().domain(y.range().map(this.invertY, this).map(y.invert, y));
                },
                toString: function () {
                    return 'translate(' + this.x + ',' + this.y + ') scale(' + this.k + ')';
                }
            };
            var identity = new Transform(1, 0, 0);
            transform.prototype = Transform.prototype;
            function transform(node) {
                while (!node.__zoom)
                    if (!(node = node.parentNode))
                        return identity;
                return node.__zoom;
            }
        },
        './node_modules/d3-zoom/src/zoom.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var d3_dispatch__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3-dispatch/src/index.js');
            var d3_drag__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-drag/src/index.js');
            var d3_interpolate__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-interpolate/src/index.js');
            var d3_selection__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            var d3_transition__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-transition/src/index.js');
            var _constant_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-zoom/src/constant.js');
            var _event_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-zoom/src/event.js');
            var _transform_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-zoom/src/transform.js');
            var _noevent_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-zoom/src/noevent.js');
            function defaultFilter() {
                return !d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].ctrlKey && !d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].button;
            }
            function defaultExtent() {
                var e = this;
                if (e instanceof SVGElement) {
                    e = e.ownerSVGElement || e;
                    if (e.hasAttribute('viewBox')) {
                        e = e.viewBox.baseVal;
                        return [
                            [
                                e.x,
                                e.y
                            ],
                            [
                                e.x + e.width,
                                e.y + e.height
                            ]
                        ];
                    }
                    return [
                        [
                            0,
                            0
                        ],
                        [
                            e.width.baseVal.value,
                            e.height.baseVal.value
                        ]
                    ];
                }
                return [
                    [
                        0,
                        0
                    ],
                    [
                        e.clientWidth,
                        e.clientHeight
                    ]
                ];
            }
            function defaultTransform() {
                return this.__zoom || _transform_js__WEBPACK_IMPORTED_MODULE_7__['identity'];
            }
            function defaultWheelDelta() {
                return -d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].deltaY * (d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].deltaMode === 1 ? 0.05 : d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].deltaMode ? 1 : 0.002);
            }
            function defaultTouchable() {
                return navigator.maxTouchPoints || 'ontouchstart' in this;
            }
            function defaultConstrain(transform, extent, translateExtent) {
                var dx0 = transform.invertX(extent[0][0]) - translateExtent[0][0], dx1 = transform.invertX(extent[1][0]) - translateExtent[1][0], dy0 = transform.invertY(extent[0][1]) - translateExtent[0][1], dy1 = transform.invertY(extent[1][1]) - translateExtent[1][1];
                return transform.translate(dx1 > dx0 ? (dx0 + dx1) / 2 : Math.min(0, dx0) || Math.max(0, dx1), dy1 > dy0 ? (dy0 + dy1) / 2 : Math.min(0, dy0) || Math.max(0, dy1));
            }
            __webpack_exports__['default'] = function () {
                var filter = defaultFilter, extent = defaultExtent, constrain = defaultConstrain, wheelDelta = defaultWheelDelta, touchable = defaultTouchable, scaleExtent = [
                        0,
                        Infinity
                    ], translateExtent = [
                        [
                            -Infinity,
                            -Infinity
                        ],
                        [
                            Infinity,
                            Infinity
                        ]
                    ], duration = 250, interpolate = d3_interpolate__WEBPACK_IMPORTED_MODULE_2__['interpolateZoom'], listeners = Object(d3_dispatch__WEBPACK_IMPORTED_MODULE_0__['dispatch'])('start', 'zoom', 'end'), touchstarting, touchending, touchDelay = 500, wheelDelay = 150, clickDistance2 = 0;
                function zoom(selection) {
                    selection.property('__zoom', defaultTransform).on('wheel.zoom', wheeled).on('mousedown.zoom', mousedowned).on('dblclick.zoom', dblclicked).filter(touchable).on('touchstart.zoom', touchstarted).on('touchmove.zoom', touchmoved).on('touchend.zoom touchcancel.zoom', touchended).style('touch-action', 'none').style('-webkit-tap-highlight-color', 'rgba(0,0,0,0)');
                }
                zoom.transform = function (collection, transform, point) {
                    var selection = collection.selection ? collection.selection() : collection;
                    selection.property('__zoom', defaultTransform);
                    if (collection !== selection) {
                        schedule(collection, transform, point);
                    } else {
                        selection.interrupt().each(function () {
                            gesture(this, arguments).start().zoom(null, typeof transform === 'function' ? transform.apply(this, arguments) : transform).end();
                        });
                    }
                };
                zoom.scaleBy = function (selection, k, p) {
                    zoom.scaleTo(selection, function () {
                        var k0 = this.__zoom.k, k1 = typeof k === 'function' ? k.apply(this, arguments) : k;
                        return k0 * k1;
                    }, p);
                };
                zoom.scaleTo = function (selection, k, p) {
                    zoom.transform(selection, function () {
                        var e = extent.apply(this, arguments), t0 = this.__zoom, p0 = p == null ? centroid(e) : typeof p === 'function' ? p.apply(this, arguments) : p, p1 = t0.invert(p0), k1 = typeof k === 'function' ? k.apply(this, arguments) : k;
                        return constrain(translate(scale(t0, k1), p0, p1), e, translateExtent);
                    }, p);
                };
                zoom.translateBy = function (selection, x, y) {
                    zoom.transform(selection, function () {
                        return constrain(this.__zoom.translate(typeof x === 'function' ? x.apply(this, arguments) : x, typeof y === 'function' ? y.apply(this, arguments) : y), extent.apply(this, arguments), translateExtent);
                    });
                };
                zoom.translateTo = function (selection, x, y, p) {
                    zoom.transform(selection, function () {
                        var e = extent.apply(this, arguments), t = this.__zoom, p0 = p == null ? centroid(e) : typeof p === 'function' ? p.apply(this, arguments) : p;
                        return constrain(_transform_js__WEBPACK_IMPORTED_MODULE_7__['identity'].translate(p0[0], p0[1]).scale(t.k).translate(typeof x === 'function' ? -x.apply(this, arguments) : -x, typeof y === 'function' ? -y.apply(this, arguments) : -y), e, translateExtent);
                    }, p);
                };
                function scale(transform, k) {
                    k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], k));
                    return k === transform.k ? transform : new _transform_js__WEBPACK_IMPORTED_MODULE_7__['Transform'](k, transform.x, transform.y);
                }
                function translate(transform, p0, p1) {
                    var x = p0[0] - p1[0] * transform.k, y = p0[1] - p1[1] * transform.k;
                    return x === transform.x && y === transform.y ? transform : new _transform_js__WEBPACK_IMPORTED_MODULE_7__['Transform'](transform.k, x, y);
                }
                function centroid(extent) {
                    return [
                        (+extent[0][0] + +extent[1][0]) / 2,
                        (+extent[0][1] + +extent[1][1]) / 2
                    ];
                }
                function schedule(transition, transform, point) {
                    transition.on('start.zoom', function () {
                        gesture(this, arguments).start();
                    }).on('interrupt.zoom end.zoom', function () {
                        gesture(this, arguments).end();
                    }).tween('zoom', function () {
                        var that = this, args = arguments, g = gesture(that, args), e = extent.apply(that, args), p = point == null ? centroid(e) : typeof point === 'function' ? point.apply(that, args) : point, w = Math.max(e[1][0] - e[0][0], e[1][1] - e[0][1]), a = that.__zoom, b = typeof transform === 'function' ? transform.apply(that, args) : transform, i = interpolate(a.invert(p).concat(w / a.k), b.invert(p).concat(w / b.k));
                        return function (t) {
                            if (t === 1)
                                t = b;
                            else {
                                var l = i(t), k = w / l[2];
                                t = new _transform_js__WEBPACK_IMPORTED_MODULE_7__['Transform'](k, p[0] - l[0] * k, p[1] - l[1] * k);
                            }
                            g.zoom(null, t);
                        };
                    });
                }
                function gesture(that, args, clean) {
                    return !clean && that.__zooming || new Gesture(that, args);
                }
                function Gesture(that, args) {
                    this.that = that;
                    this.args = args;
                    this.active = 0;
                    this.extent = extent.apply(that, args);
                    this.taps = 0;
                }
                Gesture.prototype = {
                    start: function () {
                        if (++this.active === 1) {
                            this.that.__zooming = this;
                            this.emit('start');
                        }
                        return this;
                    },
                    zoom: function (key, transform) {
                        if (this.mouse && key !== 'mouse')
                            this.mouse[1] = transform.invert(this.mouse[0]);
                        if (this.touch0 && key !== 'touch')
                            this.touch0[1] = transform.invert(this.touch0[0]);
                        if (this.touch1 && key !== 'touch')
                            this.touch1[1] = transform.invert(this.touch1[0]);
                        this.that.__zoom = transform;
                        this.emit('zoom');
                        return this;
                    },
                    end: function () {
                        if (--this.active === 0) {
                            delete this.that.__zooming;
                            this.emit('end');
                        }
                        return this;
                    },
                    emit: function (type) {
                        Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['customEvent'])(new _event_js__WEBPACK_IMPORTED_MODULE_6__['default'](zoom, type, this.that.__zoom), listeners.apply, listeners, [
                            type,
                            this.that,
                            this.args
                        ]);
                    }
                };
                function wheeled() {
                    if (!filter.apply(this, arguments))
                        return;
                    var g = gesture(this, arguments), t = this.__zoom, k = Math.max(scaleExtent[0], Math.min(scaleExtent[1], t.k * Math.pow(2, wheelDelta.apply(this, arguments)))), p = Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['mouse'])(this);
                    if (g.wheel) {
                        if (g.mouse[0][0] !== p[0] || g.mouse[0][1] !== p[1]) {
                            g.mouse[1] = t.invert(g.mouse[0] = p);
                        }
                        clearTimeout(g.wheel);
                    } else if (t.k === k)
                        return;
                    else {
                        g.mouse = [
                            p,
                            t.invert(p)
                        ];
                        Object(d3_transition__WEBPACK_IMPORTED_MODULE_4__['interrupt'])(this);
                        g.start();
                    }
                    Object(_noevent_js__WEBPACK_IMPORTED_MODULE_8__['default'])();
                    g.wheel = setTimeout(wheelidled, wheelDelay);
                    g.zoom('mouse', constrain(translate(scale(t, k), g.mouse[0], g.mouse[1]), g.extent, translateExtent));
                    function wheelidled() {
                        g.wheel = null;
                        g.end();
                    }
                }
                function mousedowned() {
                    if (touchending || !filter.apply(this, arguments))
                        return;
                    var g = gesture(this, arguments, true), v = Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['select'])(d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].view).on('mousemove.zoom', mousemoved, true).on('mouseup.zoom', mouseupped, true), p = Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['mouse'])(this), x0 = d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].clientX, y0 = d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].clientY;
                    Object(d3_drag__WEBPACK_IMPORTED_MODULE_1__['dragDisable'])(d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].view);
                    Object(_noevent_js__WEBPACK_IMPORTED_MODULE_8__['nopropagation'])();
                    g.mouse = [
                        p,
                        this.__zoom.invert(p)
                    ];
                    Object(d3_transition__WEBPACK_IMPORTED_MODULE_4__['interrupt'])(this);
                    g.start();
                    function mousemoved() {
                        Object(_noevent_js__WEBPACK_IMPORTED_MODULE_8__['default'])();
                        if (!g.moved) {
                            var dx = d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].clientX - x0, dy = d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].clientY - y0;
                            g.moved = dx * dx + dy * dy > clickDistance2;
                        }
                        g.zoom('mouse', constrain(translate(g.that.__zoom, g.mouse[0] = Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['mouse'])(g.that), g.mouse[1]), g.extent, translateExtent));
                    }
                    function mouseupped() {
                        v.on('mousemove.zoom mouseup.zoom', null);
                        Object(d3_drag__WEBPACK_IMPORTED_MODULE_1__['dragEnable'])(d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].view, g.moved);
                        Object(_noevent_js__WEBPACK_IMPORTED_MODULE_8__['default'])();
                        g.end();
                    }
                }
                function dblclicked() {
                    if (!filter.apply(this, arguments))
                        return;
                    var t0 = this.__zoom, p0 = Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['mouse'])(this), p1 = t0.invert(p0), k1 = t0.k * (d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].shiftKey ? 0.5 : 2), t1 = constrain(translate(scale(t0, k1), p0, p1), extent.apply(this, arguments), translateExtent);
                    Object(_noevent_js__WEBPACK_IMPORTED_MODULE_8__['default'])();
                    if (duration > 0)
                        Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['select'])(this).transition().duration(duration).call(schedule, t1, p0);
                    else
                        Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['select'])(this).call(zoom.transform, t1);
                }
                function touchstarted() {
                    if (!filter.apply(this, arguments))
                        return;
                    var touches = d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].touches, n = touches.length, g = gesture(this, arguments, d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].changedTouches.length === n), started, i, t, p;
                    Object(_noevent_js__WEBPACK_IMPORTED_MODULE_8__['nopropagation'])();
                    for (i = 0; i < n; ++i) {
                        t = touches[i], p = Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['touch'])(this, touches, t.identifier);
                        p = [
                            p,
                            this.__zoom.invert(p),
                            t.identifier
                        ];
                        if (!g.touch0)
                            g.touch0 = p, started = true, g.taps = 1 + !!touchstarting;
                        else if (!g.touch1 && g.touch0[2] !== p[2])
                            g.touch1 = p, g.taps = 0;
                    }
                    if (touchstarting)
                        touchstarting = clearTimeout(touchstarting);
                    if (started) {
                        if (g.taps < 2)
                            touchstarting = setTimeout(function () {
                                touchstarting = null;
                            }, touchDelay);
                        Object(d3_transition__WEBPACK_IMPORTED_MODULE_4__['interrupt'])(this);
                        g.start();
                    }
                }
                function touchmoved() {
                    if (!this.__zooming)
                        return;
                    var g = gesture(this, arguments), touches = d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].changedTouches, n = touches.length, i, t, p, l;
                    Object(_noevent_js__WEBPACK_IMPORTED_MODULE_8__['default'])();
                    if (touchstarting)
                        touchstarting = clearTimeout(touchstarting);
                    g.taps = 0;
                    for (i = 0; i < n; ++i) {
                        t = touches[i], p = Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['touch'])(this, touches, t.identifier);
                        if (g.touch0 && g.touch0[2] === t.identifier)
                            g.touch0[0] = p;
                        else if (g.touch1 && g.touch1[2] === t.identifier)
                            g.touch1[0] = p;
                    }
                    t = g.that.__zoom;
                    if (g.touch1) {
                        var p0 = g.touch0[0], l0 = g.touch0[1], p1 = g.touch1[0], l1 = g.touch1[1], dp = (dp = p1[0] - p0[0]) * dp + (dp = p1[1] - p0[1]) * dp, dl = (dl = l1[0] - l0[0]) * dl + (dl = l1[1] - l0[1]) * dl;
                        t = scale(t, Math.sqrt(dp / dl));
                        p = [
                            (p0[0] + p1[0]) / 2,
                            (p0[1] + p1[1]) / 2
                        ];
                        l = [
                            (l0[0] + l1[0]) / 2,
                            (l0[1] + l1[1]) / 2
                        ];
                    } else if (g.touch0)
                        p = g.touch0[0], l = g.touch0[1];
                    else
                        return;
                    g.zoom('touch', constrain(translate(t, p, l), g.extent, translateExtent));
                }
                function touchended() {
                    if (!this.__zooming)
                        return;
                    var g = gesture(this, arguments), touches = d3_selection__WEBPACK_IMPORTED_MODULE_3__['event'].changedTouches, n = touches.length, i, t;
                    Object(_noevent_js__WEBPACK_IMPORTED_MODULE_8__['nopropagation'])();
                    if (touchending)
                        clearTimeout(touchending);
                    touchending = setTimeout(function () {
                        touchending = null;
                    }, touchDelay);
                    for (i = 0; i < n; ++i) {
                        t = touches[i];
                        if (g.touch0 && g.touch0[2] === t.identifier)
                            delete g.touch0;
                        else if (g.touch1 && g.touch1[2] === t.identifier)
                            delete g.touch1;
                    }
                    if (g.touch1 && !g.touch0)
                        g.touch0 = g.touch1, delete g.touch1;
                    if (g.touch0)
                        g.touch0[1] = this.__zoom.invert(g.touch0[0]);
                    else {
                        g.end();
                        if (g.taps === 2) {
                            var p = Object(d3_selection__WEBPACK_IMPORTED_MODULE_3__['select'])(this).on('dblclick.zoom');
                            if (p)
                                p.apply(this, arguments);
                        }
                    }
                }
                zoom.wheelDelta = function (_) {
                    return arguments.length ? (wheelDelta = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_5__['default'])(+_), zoom) : wheelDelta;
                };
                zoom.filter = function (_) {
                    return arguments.length ? (filter = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_5__['default'])(!!_), zoom) : filter;
                };
                zoom.touchable = function (_) {
                    return arguments.length ? (touchable = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_5__['default'])(!!_), zoom) : touchable;
                };
                zoom.extent = function (_) {
                    return arguments.length ? (extent = typeof _ === 'function' ? _ : Object(_constant_js__WEBPACK_IMPORTED_MODULE_5__['default'])([
                        [
                            +_[0][0],
                            +_[0][1]
                        ],
                        [
                            +_[1][0],
                            +_[1][1]
                        ]
                    ]), zoom) : extent;
                };
                zoom.scaleExtent = function (_) {
                    return arguments.length ? (scaleExtent[0] = +_[0], scaleExtent[1] = +_[1], zoom) : [
                        scaleExtent[0],
                        scaleExtent[1]
                    ];
                };
                zoom.translateExtent = function (_) {
                    return arguments.length ? (translateExtent[0][0] = +_[0][0], translateExtent[1][0] = +_[1][0], translateExtent[0][1] = +_[0][1], translateExtent[1][1] = +_[1][1], zoom) : [
                        [
                            translateExtent[0][0],
                            translateExtent[0][1]
                        ],
                        [
                            translateExtent[1][0],
                            translateExtent[1][1]
                        ]
                    ];
                };
                zoom.constrain = function (_) {
                    return arguments.length ? (constrain = _, zoom) : constrain;
                };
                zoom.duration = function (_) {
                    return arguments.length ? (duration = +_, zoom) : duration;
                };
                zoom.interpolate = function (_) {
                    return arguments.length ? (interpolate = _, zoom) : interpolate;
                };
                zoom.on = function () {
                    var value = listeners.on.apply(listeners, arguments);
                    return value === listeners ? zoom : value;
                };
                zoom.clickDistance = function (_) {
                    return arguments.length ? (clickDistance2 = (_ = +_) * _, zoom) : Math.sqrt(clickDistance2);
                };
                return zoom;
            };
        },
        './node_modules/d3/dist/package.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'name', function () {
                return name;
            });
            __webpack_require__.d(__webpack_exports__, 'version', function () {
                return version;
            });
            __webpack_require__.d(__webpack_exports__, 'description', function () {
                return description;
            });
            __webpack_require__.d(__webpack_exports__, 'keywords', function () {
                return keywords;
            });
            __webpack_require__.d(__webpack_exports__, 'homepage', function () {
                return homepage;
            });
            __webpack_require__.d(__webpack_exports__, 'license', function () {
                return license;
            });
            __webpack_require__.d(__webpack_exports__, 'author', function () {
                return author;
            });
            __webpack_require__.d(__webpack_exports__, 'main', function () {
                return main;
            });
            __webpack_require__.d(__webpack_exports__, 'unpkg', function () {
                return unpkg;
            });
            __webpack_require__.d(__webpack_exports__, 'jsdelivr', function () {
                return jsdelivr;
            });
            __webpack_require__.d(__webpack_exports__, 'module', function () {
                return module;
            });
            __webpack_require__.d(__webpack_exports__, 'repository', function () {
                return repository;
            });
            __webpack_require__.d(__webpack_exports__, 'files', function () {
                return files;
            });
            __webpack_require__.d(__webpack_exports__, 'scripts', function () {
                return scripts;
            });
            __webpack_require__.d(__webpack_exports__, 'devDependencies', function () {
                return devDependencies;
            });
            __webpack_require__.d(__webpack_exports__, 'dependencies', function () {
                return dependencies;
            });
            var name = 'd3';
            var version = '5.16.0';
            var description = 'Data-Driven Documents';
            var keywords = [
                'dom',
                'visualization',
                'svg',
                'animation',
                'canvas'
            ];
            var homepage = 'https://d3js.org';
            var license = 'BSD-3-Clause';
            var author = {
                'name': 'Mike Bostock',
                'url': 'https://bost.ocks.org/mike'
            };
            var main = 'dist/d3.node.js';
            var unpkg = 'dist/d3.min.js';
            var jsdelivr = 'dist/d3.min.js';
            var module = 'index.js';
            var repository = {
                'type': 'git',
                'url': 'https://github.com/d3/d3.git'
            };
            var files = [
                'dist/**/*.js',
                'index.js'
            ];
            var scripts = {
                'pretest': 'rimraf dist && mkdir dist && json2module package.json > dist/package.js && rollup -c',
                'test': 'tape \'test/**/*-test.js\'',
                'prepublishOnly': 'yarn test',
                'postpublish': 'git push && git push --tags && cd ../d3.github.com && git pull && cp ../d3/dist/d3.js d3.v5.js && cp ../d3/dist/d3.min.js d3.v5.min.js && git add d3.v5.js d3.v5.min.js && git commit -m "d3 ${npm_package_version}" && git push && cd - && cd ../d3-bower && git pull && cp ../d3/LICENSE ../d3/README.md ../d3/dist/d3.js ../d3/dist/d3.min.js . && git add -- LICENSE README.md d3.js d3.min.js && git commit -m "${npm_package_version}" && git tag -am "${npm_package_version}" v${npm_package_version} && git push && git push --tags && cd - && zip -j dist/d3.zip -- LICENSE README.md API.md CHANGES.md dist/d3.js dist/d3.min.js'
            };
            var devDependencies = {
                'json2module': '0.0',
                'rimraf': '2',
                'rollup': '1',
                'rollup-plugin-ascii': '0.0',
                'rollup-plugin-node-resolve': '3',
                'rollup-plugin-terser': '5',
                'tape': '4'
            };
            var dependencies = {
                'd3-array': '1',
                'd3-axis': '1',
                'd3-brush': '1',
                'd3-chord': '1',
                'd3-collection': '1',
                'd3-color': '1',
                'd3-contour': '1',
                'd3-dispatch': '1',
                'd3-drag': '1',
                'd3-dsv': '1',
                'd3-ease': '1',
                'd3-fetch': '1',
                'd3-force': '1',
                'd3-format': '1',
                'd3-geo': '1',
                'd3-hierarchy': '1',
                'd3-interpolate': '1',
                'd3-path': '1',
                'd3-polygon': '1',
                'd3-quadtree': '1',
                'd3-random': '1',
                'd3-scale': '2',
                'd3-scale-chromatic': '1',
                'd3-selection': '1',
                'd3-shape': '1',
                'd3-time': '1',
                'd3-time-format': '2',
                'd3-timer': '1',
                'd3-transition': '1',
                'd3-voronoi': '1',
                'd3-zoom': '1'
            };
        },
        './node_modules/d3/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _dist_package_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/d3/dist/package.js');
            __webpack_require__.d(__webpack_exports__, 'version', function () {
                return _dist_package_js__WEBPACK_IMPORTED_MODULE_0__['version'];
            });
            var d3_array__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/d3-array/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'bisect', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['bisect'];
            });
            __webpack_require__.d(__webpack_exports__, 'bisectRight', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['bisectRight'];
            });
            __webpack_require__.d(__webpack_exports__, 'bisectLeft', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['bisectLeft'];
            });
            __webpack_require__.d(__webpack_exports__, 'ascending', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['ascending'];
            });
            __webpack_require__.d(__webpack_exports__, 'bisector', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['bisector'];
            });
            __webpack_require__.d(__webpack_exports__, 'cross', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['cross'];
            });
            __webpack_require__.d(__webpack_exports__, 'descending', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['descending'];
            });
            __webpack_require__.d(__webpack_exports__, 'deviation', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['deviation'];
            });
            __webpack_require__.d(__webpack_exports__, 'extent', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['extent'];
            });
            __webpack_require__.d(__webpack_exports__, 'histogram', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['histogram'];
            });
            __webpack_require__.d(__webpack_exports__, 'thresholdFreedmanDiaconis', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['thresholdFreedmanDiaconis'];
            });
            __webpack_require__.d(__webpack_exports__, 'thresholdScott', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['thresholdScott'];
            });
            __webpack_require__.d(__webpack_exports__, 'thresholdSturges', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['thresholdSturges'];
            });
            __webpack_require__.d(__webpack_exports__, 'max', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['max'];
            });
            __webpack_require__.d(__webpack_exports__, 'mean', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['mean'];
            });
            __webpack_require__.d(__webpack_exports__, 'median', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['median'];
            });
            __webpack_require__.d(__webpack_exports__, 'merge', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['merge'];
            });
            __webpack_require__.d(__webpack_exports__, 'min', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['min'];
            });
            __webpack_require__.d(__webpack_exports__, 'pairs', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['pairs'];
            });
            __webpack_require__.d(__webpack_exports__, 'permute', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['permute'];
            });
            __webpack_require__.d(__webpack_exports__, 'quantile', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['quantile'];
            });
            __webpack_require__.d(__webpack_exports__, 'range', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['range'];
            });
            __webpack_require__.d(__webpack_exports__, 'scan', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['scan'];
            });
            __webpack_require__.d(__webpack_exports__, 'shuffle', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['shuffle'];
            });
            __webpack_require__.d(__webpack_exports__, 'sum', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['sum'];
            });
            __webpack_require__.d(__webpack_exports__, 'ticks', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['ticks'];
            });
            __webpack_require__.d(__webpack_exports__, 'tickIncrement', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['tickIncrement'];
            });
            __webpack_require__.d(__webpack_exports__, 'tickStep', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['tickStep'];
            });
            __webpack_require__.d(__webpack_exports__, 'transpose', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['transpose'];
            });
            __webpack_require__.d(__webpack_exports__, 'variance', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['variance'];
            });
            __webpack_require__.d(__webpack_exports__, 'zip', function () {
                return d3_array__WEBPACK_IMPORTED_MODULE_1__['zip'];
            });
            var d3_axis__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./node_modules/d3-axis/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'axisTop', function () {
                return d3_axis__WEBPACK_IMPORTED_MODULE_2__['axisTop'];
            });
            __webpack_require__.d(__webpack_exports__, 'axisRight', function () {
                return d3_axis__WEBPACK_IMPORTED_MODULE_2__['axisRight'];
            });
            __webpack_require__.d(__webpack_exports__, 'axisBottom', function () {
                return d3_axis__WEBPACK_IMPORTED_MODULE_2__['axisBottom'];
            });
            __webpack_require__.d(__webpack_exports__, 'axisLeft', function () {
                return d3_axis__WEBPACK_IMPORTED_MODULE_2__['axisLeft'];
            });
            var d3_brush__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./node_modules/d3-brush/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'brush', function () {
                return d3_brush__WEBPACK_IMPORTED_MODULE_3__['brush'];
            });
            __webpack_require__.d(__webpack_exports__, 'brushX', function () {
                return d3_brush__WEBPACK_IMPORTED_MODULE_3__['brushX'];
            });
            __webpack_require__.d(__webpack_exports__, 'brushY', function () {
                return d3_brush__WEBPACK_IMPORTED_MODULE_3__['brushY'];
            });
            __webpack_require__.d(__webpack_exports__, 'brushSelection', function () {
                return d3_brush__WEBPACK_IMPORTED_MODULE_3__['brushSelection'];
            });
            var d3_chord__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./node_modules/d3-chord/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'chord', function () {
                return d3_chord__WEBPACK_IMPORTED_MODULE_4__['chord'];
            });
            __webpack_require__.d(__webpack_exports__, 'ribbon', function () {
                return d3_chord__WEBPACK_IMPORTED_MODULE_4__['ribbon'];
            });
            var d3_collection__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__('./node_modules/d3-collection/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'nest', function () {
                return d3_collection__WEBPACK_IMPORTED_MODULE_5__['nest'];
            });
            __webpack_require__.d(__webpack_exports__, 'set', function () {
                return d3_collection__WEBPACK_IMPORTED_MODULE_5__['set'];
            });
            __webpack_require__.d(__webpack_exports__, 'map', function () {
                return d3_collection__WEBPACK_IMPORTED_MODULE_5__['map'];
            });
            __webpack_require__.d(__webpack_exports__, 'keys', function () {
                return d3_collection__WEBPACK_IMPORTED_MODULE_5__['keys'];
            });
            __webpack_require__.d(__webpack_exports__, 'values', function () {
                return d3_collection__WEBPACK_IMPORTED_MODULE_5__['values'];
            });
            __webpack_require__.d(__webpack_exports__, 'entries', function () {
                return d3_collection__WEBPACK_IMPORTED_MODULE_5__['entries'];
            });
            var d3_color__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__('./node_modules/d3-color/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'color', function () {
                return d3_color__WEBPACK_IMPORTED_MODULE_6__['color'];
            });
            __webpack_require__.d(__webpack_exports__, 'rgb', function () {
                return d3_color__WEBPACK_IMPORTED_MODULE_6__['rgb'];
            });
            __webpack_require__.d(__webpack_exports__, 'hsl', function () {
                return d3_color__WEBPACK_IMPORTED_MODULE_6__['hsl'];
            });
            __webpack_require__.d(__webpack_exports__, 'lab', function () {
                return d3_color__WEBPACK_IMPORTED_MODULE_6__['lab'];
            });
            __webpack_require__.d(__webpack_exports__, 'hcl', function () {
                return d3_color__WEBPACK_IMPORTED_MODULE_6__['hcl'];
            });
            __webpack_require__.d(__webpack_exports__, 'lch', function () {
                return d3_color__WEBPACK_IMPORTED_MODULE_6__['lch'];
            });
            __webpack_require__.d(__webpack_exports__, 'gray', function () {
                return d3_color__WEBPACK_IMPORTED_MODULE_6__['gray'];
            });
            __webpack_require__.d(__webpack_exports__, 'cubehelix', function () {
                return d3_color__WEBPACK_IMPORTED_MODULE_6__['cubehelix'];
            });
            var d3_contour__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__('./node_modules/d3-contour/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'contours', function () {
                return d3_contour__WEBPACK_IMPORTED_MODULE_7__['contours'];
            });
            __webpack_require__.d(__webpack_exports__, 'contourDensity', function () {
                return d3_contour__WEBPACK_IMPORTED_MODULE_7__['contourDensity'];
            });
            var d3_dispatch__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__('./node_modules/d3-dispatch/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'dispatch', function () {
                return d3_dispatch__WEBPACK_IMPORTED_MODULE_8__['dispatch'];
            });
            var d3_drag__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__('./node_modules/d3-drag/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'drag', function () {
                return d3_drag__WEBPACK_IMPORTED_MODULE_9__['drag'];
            });
            __webpack_require__.d(__webpack_exports__, 'dragDisable', function () {
                return d3_drag__WEBPACK_IMPORTED_MODULE_9__['dragDisable'];
            });
            __webpack_require__.d(__webpack_exports__, 'dragEnable', function () {
                return d3_drag__WEBPACK_IMPORTED_MODULE_9__['dragEnable'];
            });
            var d3_dsv__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__('./node_modules/d3-dsv/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'dsvFormat', function () {
                return d3_dsv__WEBPACK_IMPORTED_MODULE_10__['dsvFormat'];
            });
            __webpack_require__.d(__webpack_exports__, 'csvParse', function () {
                return d3_dsv__WEBPACK_IMPORTED_MODULE_10__['csvParse'];
            });
            __webpack_require__.d(__webpack_exports__, 'csvParseRows', function () {
                return d3_dsv__WEBPACK_IMPORTED_MODULE_10__['csvParseRows'];
            });
            __webpack_require__.d(__webpack_exports__, 'csvFormat', function () {
                return d3_dsv__WEBPACK_IMPORTED_MODULE_10__['csvFormat'];
            });
            __webpack_require__.d(__webpack_exports__, 'csvFormatBody', function () {
                return d3_dsv__WEBPACK_IMPORTED_MODULE_10__['csvFormatBody'];
            });
            __webpack_require__.d(__webpack_exports__, 'csvFormatRows', function () {
                return d3_dsv__WEBPACK_IMPORTED_MODULE_10__['csvFormatRows'];
            });
            __webpack_require__.d(__webpack_exports__, 'csvFormatRow', function () {
                return d3_dsv__WEBPACK_IMPORTED_MODULE_10__['csvFormatRow'];
            });
            __webpack_require__.d(__webpack_exports__, 'csvFormatValue', function () {
                return d3_dsv__WEBPACK_IMPORTED_MODULE_10__['csvFormatValue'];
            });
            __webpack_require__.d(__webpack_exports__, 'tsvParse', function () {
                return d3_dsv__WEBPACK_IMPORTED_MODULE_10__['tsvParse'];
            });
            __webpack_require__.d(__webpack_exports__, 'tsvParseRows', function () {
                return d3_dsv__WEBPACK_IMPORTED_MODULE_10__['tsvParseRows'];
            });
            __webpack_require__.d(__webpack_exports__, 'tsvFormat', function () {
                return d3_dsv__WEBPACK_IMPORTED_MODULE_10__['tsvFormat'];
            });
            __webpack_require__.d(__webpack_exports__, 'tsvFormatBody', function () {
                return d3_dsv__WEBPACK_IMPORTED_MODULE_10__['tsvFormatBody'];
            });
            __webpack_require__.d(__webpack_exports__, 'tsvFormatRows', function () {
                return d3_dsv__WEBPACK_IMPORTED_MODULE_10__['tsvFormatRows'];
            });
            __webpack_require__.d(__webpack_exports__, 'tsvFormatRow', function () {
                return d3_dsv__WEBPACK_IMPORTED_MODULE_10__['tsvFormatRow'];
            });
            __webpack_require__.d(__webpack_exports__, 'tsvFormatValue', function () {
                return d3_dsv__WEBPACK_IMPORTED_MODULE_10__['tsvFormatValue'];
            });
            __webpack_require__.d(__webpack_exports__, 'autoType', function () {
                return d3_dsv__WEBPACK_IMPORTED_MODULE_10__['autoType'];
            });
            var d3_ease__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__('./node_modules/d3-ease/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'easeLinear', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeLinear'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeQuad', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeQuad'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeQuadIn', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeQuadIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeQuadOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeQuadOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeQuadInOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeQuadInOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeCubic', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeCubic'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeCubicIn', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeCubicIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeCubicOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeCubicOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeCubicInOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeCubicInOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easePoly', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easePoly'];
            });
            __webpack_require__.d(__webpack_exports__, 'easePolyIn', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easePolyIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easePolyOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easePolyOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easePolyInOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easePolyInOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeSin', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeSin'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeSinIn', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeSinIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeSinOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeSinOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeSinInOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeSinInOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeExp', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeExp'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeExpIn', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeExpIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeExpOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeExpOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeExpInOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeExpInOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeCircle', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeCircle'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeCircleIn', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeCircleIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeCircleOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeCircleOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeCircleInOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeCircleInOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeBounce', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeBounce'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeBounceIn', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeBounceIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeBounceOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeBounceOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeBounceInOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeBounceInOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeBack', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeBack'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeBackIn', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeBackIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeBackOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeBackOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeBackInOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeBackInOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeElastic', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeElastic'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeElasticIn', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeElasticIn'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeElasticOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeElasticOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'easeElasticInOut', function () {
                return d3_ease__WEBPACK_IMPORTED_MODULE_11__['easeElasticInOut'];
            });
            var d3_fetch__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__('./node_modules/d3-fetch/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'blob', function () {
                return d3_fetch__WEBPACK_IMPORTED_MODULE_12__['blob'];
            });
            __webpack_require__.d(__webpack_exports__, 'buffer', function () {
                return d3_fetch__WEBPACK_IMPORTED_MODULE_12__['buffer'];
            });
            __webpack_require__.d(__webpack_exports__, 'dsv', function () {
                return d3_fetch__WEBPACK_IMPORTED_MODULE_12__['dsv'];
            });
            __webpack_require__.d(__webpack_exports__, 'csv', function () {
                return d3_fetch__WEBPACK_IMPORTED_MODULE_12__['csv'];
            });
            __webpack_require__.d(__webpack_exports__, 'tsv', function () {
                return d3_fetch__WEBPACK_IMPORTED_MODULE_12__['tsv'];
            });
            __webpack_require__.d(__webpack_exports__, 'image', function () {
                return d3_fetch__WEBPACK_IMPORTED_MODULE_12__['image'];
            });
            __webpack_require__.d(__webpack_exports__, 'json', function () {
                return d3_fetch__WEBPACK_IMPORTED_MODULE_12__['json'];
            });
            __webpack_require__.d(__webpack_exports__, 'text', function () {
                return d3_fetch__WEBPACK_IMPORTED_MODULE_12__['text'];
            });
            __webpack_require__.d(__webpack_exports__, 'xml', function () {
                return d3_fetch__WEBPACK_IMPORTED_MODULE_12__['xml'];
            });
            __webpack_require__.d(__webpack_exports__, 'html', function () {
                return d3_fetch__WEBPACK_IMPORTED_MODULE_12__['html'];
            });
            __webpack_require__.d(__webpack_exports__, 'svg', function () {
                return d3_fetch__WEBPACK_IMPORTED_MODULE_12__['svg'];
            });
            var d3_force__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__('./node_modules/d3-force/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'forceCenter', function () {
                return d3_force__WEBPACK_IMPORTED_MODULE_13__['forceCenter'];
            });
            __webpack_require__.d(__webpack_exports__, 'forceCollide', function () {
                return d3_force__WEBPACK_IMPORTED_MODULE_13__['forceCollide'];
            });
            __webpack_require__.d(__webpack_exports__, 'forceLink', function () {
                return d3_force__WEBPACK_IMPORTED_MODULE_13__['forceLink'];
            });
            __webpack_require__.d(__webpack_exports__, 'forceManyBody', function () {
                return d3_force__WEBPACK_IMPORTED_MODULE_13__['forceManyBody'];
            });
            __webpack_require__.d(__webpack_exports__, 'forceRadial', function () {
                return d3_force__WEBPACK_IMPORTED_MODULE_13__['forceRadial'];
            });
            __webpack_require__.d(__webpack_exports__, 'forceSimulation', function () {
                return d3_force__WEBPACK_IMPORTED_MODULE_13__['forceSimulation'];
            });
            __webpack_require__.d(__webpack_exports__, 'forceX', function () {
                return d3_force__WEBPACK_IMPORTED_MODULE_13__['forceX'];
            });
            __webpack_require__.d(__webpack_exports__, 'forceY', function () {
                return d3_force__WEBPACK_IMPORTED_MODULE_13__['forceY'];
            });
            var d3_format__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__('./node_modules/d3-format/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'formatDefaultLocale', function () {
                return d3_format__WEBPACK_IMPORTED_MODULE_14__['formatDefaultLocale'];
            });
            __webpack_require__.d(__webpack_exports__, 'format', function () {
                return d3_format__WEBPACK_IMPORTED_MODULE_14__['format'];
            });
            __webpack_require__.d(__webpack_exports__, 'formatPrefix', function () {
                return d3_format__WEBPACK_IMPORTED_MODULE_14__['formatPrefix'];
            });
            __webpack_require__.d(__webpack_exports__, 'formatLocale', function () {
                return d3_format__WEBPACK_IMPORTED_MODULE_14__['formatLocale'];
            });
            __webpack_require__.d(__webpack_exports__, 'formatSpecifier', function () {
                return d3_format__WEBPACK_IMPORTED_MODULE_14__['formatSpecifier'];
            });
            __webpack_require__.d(__webpack_exports__, 'FormatSpecifier', function () {
                return d3_format__WEBPACK_IMPORTED_MODULE_14__['FormatSpecifier'];
            });
            __webpack_require__.d(__webpack_exports__, 'precisionFixed', function () {
                return d3_format__WEBPACK_IMPORTED_MODULE_14__['precisionFixed'];
            });
            __webpack_require__.d(__webpack_exports__, 'precisionPrefix', function () {
                return d3_format__WEBPACK_IMPORTED_MODULE_14__['precisionPrefix'];
            });
            __webpack_require__.d(__webpack_exports__, 'precisionRound', function () {
                return d3_format__WEBPACK_IMPORTED_MODULE_14__['precisionRound'];
            });
            var d3_geo__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__('./node_modules/d3-geo/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'geoArea', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoArea'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoBounds', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoBounds'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoCentroid', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoCentroid'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoCircle', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoCircle'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoClipAntimeridian', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoClipAntimeridian'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoClipCircle', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoClipCircle'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoClipExtent', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoClipExtent'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoClipRectangle', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoClipRectangle'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoContains', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoContains'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoDistance', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoDistance'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoGraticule', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoGraticule'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoGraticule10', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoGraticule10'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoInterpolate', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoInterpolate'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoLength', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoLength'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoPath', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoPath'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoAlbers', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoAlbers'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoAlbersUsa', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoAlbersUsa'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoAzimuthalEqualArea', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoAzimuthalEqualArea'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoAzimuthalEqualAreaRaw', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoAzimuthalEqualAreaRaw'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoAzimuthalEquidistant', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoAzimuthalEquidistant'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoAzimuthalEquidistantRaw', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoAzimuthalEquidistantRaw'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoConicConformal', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoConicConformal'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoConicConformalRaw', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoConicConformalRaw'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoConicEqualArea', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoConicEqualArea'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoConicEqualAreaRaw', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoConicEqualAreaRaw'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoConicEquidistant', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoConicEquidistant'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoConicEquidistantRaw', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoConicEquidistantRaw'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoEqualEarth', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoEqualEarth'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoEqualEarthRaw', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoEqualEarthRaw'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoEquirectangular', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoEquirectangular'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoEquirectangularRaw', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoEquirectangularRaw'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoGnomonic', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoGnomonic'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoGnomonicRaw', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoGnomonicRaw'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoIdentity', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoIdentity'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoProjection', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoProjection'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoProjectionMutator', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoProjectionMutator'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoMercator', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoMercator'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoMercatorRaw', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoMercatorRaw'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoNaturalEarth1', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoNaturalEarth1'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoNaturalEarth1Raw', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoNaturalEarth1Raw'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoOrthographic', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoOrthographic'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoOrthographicRaw', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoOrthographicRaw'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoStereographic', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoStereographic'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoStereographicRaw', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoStereographicRaw'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoTransverseMercator', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoTransverseMercator'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoTransverseMercatorRaw', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoTransverseMercatorRaw'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoRotation', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoRotation'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoStream', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoStream'];
            });
            __webpack_require__.d(__webpack_exports__, 'geoTransform', function () {
                return d3_geo__WEBPACK_IMPORTED_MODULE_15__['geoTransform'];
            });
            var d3_hierarchy__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__('./node_modules/d3-hierarchy/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'cluster', function () {
                return d3_hierarchy__WEBPACK_IMPORTED_MODULE_16__['cluster'];
            });
            __webpack_require__.d(__webpack_exports__, 'hierarchy', function () {
                return d3_hierarchy__WEBPACK_IMPORTED_MODULE_16__['hierarchy'];
            });
            __webpack_require__.d(__webpack_exports__, 'pack', function () {
                return d3_hierarchy__WEBPACK_IMPORTED_MODULE_16__['pack'];
            });
            __webpack_require__.d(__webpack_exports__, 'packSiblings', function () {
                return d3_hierarchy__WEBPACK_IMPORTED_MODULE_16__['packSiblings'];
            });
            __webpack_require__.d(__webpack_exports__, 'packEnclose', function () {
                return d3_hierarchy__WEBPACK_IMPORTED_MODULE_16__['packEnclose'];
            });
            __webpack_require__.d(__webpack_exports__, 'partition', function () {
                return d3_hierarchy__WEBPACK_IMPORTED_MODULE_16__['partition'];
            });
            __webpack_require__.d(__webpack_exports__, 'stratify', function () {
                return d3_hierarchy__WEBPACK_IMPORTED_MODULE_16__['stratify'];
            });
            __webpack_require__.d(__webpack_exports__, 'tree', function () {
                return d3_hierarchy__WEBPACK_IMPORTED_MODULE_16__['tree'];
            });
            __webpack_require__.d(__webpack_exports__, 'treemap', function () {
                return d3_hierarchy__WEBPACK_IMPORTED_MODULE_16__['treemap'];
            });
            __webpack_require__.d(__webpack_exports__, 'treemapBinary', function () {
                return d3_hierarchy__WEBPACK_IMPORTED_MODULE_16__['treemapBinary'];
            });
            __webpack_require__.d(__webpack_exports__, 'treemapDice', function () {
                return d3_hierarchy__WEBPACK_IMPORTED_MODULE_16__['treemapDice'];
            });
            __webpack_require__.d(__webpack_exports__, 'treemapSlice', function () {
                return d3_hierarchy__WEBPACK_IMPORTED_MODULE_16__['treemapSlice'];
            });
            __webpack_require__.d(__webpack_exports__, 'treemapSliceDice', function () {
                return d3_hierarchy__WEBPACK_IMPORTED_MODULE_16__['treemapSliceDice'];
            });
            __webpack_require__.d(__webpack_exports__, 'treemapSquarify', function () {
                return d3_hierarchy__WEBPACK_IMPORTED_MODULE_16__['treemapSquarify'];
            });
            __webpack_require__.d(__webpack_exports__, 'treemapResquarify', function () {
                return d3_hierarchy__WEBPACK_IMPORTED_MODULE_16__['treemapResquarify'];
            });
            var d3_interpolate__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__('./node_modules/d3-interpolate/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'interpolate', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolate'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateArray', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateArray'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateBasis', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateBasis'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateBasisClosed', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateBasisClosed'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateDate', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateDate'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateDiscrete', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateDiscrete'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateHue', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateHue'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateNumber', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateNumber'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateNumberArray', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateNumberArray'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateObject', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateObject'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateRound', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateRound'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateString', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateString'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateTransformCss', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateTransformCss'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateTransformSvg', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateTransformSvg'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateZoom', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateZoom'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateRgb', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateRgb'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateRgbBasis', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateRgbBasis'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateRgbBasisClosed', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateRgbBasisClosed'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateHsl', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateHsl'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateHslLong', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateHslLong'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateLab', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateLab'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateHcl', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateHcl'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateHclLong', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateHclLong'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateCubehelix', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateCubehelix'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateCubehelixLong', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['interpolateCubehelixLong'];
            });
            __webpack_require__.d(__webpack_exports__, 'piecewise', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['piecewise'];
            });
            __webpack_require__.d(__webpack_exports__, 'quantize', function () {
                return d3_interpolate__WEBPACK_IMPORTED_MODULE_17__['quantize'];
            });
            var d3_path__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__('./node_modules/d3-path/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'path', function () {
                return d3_path__WEBPACK_IMPORTED_MODULE_18__['path'];
            });
            var d3_polygon__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__('./node_modules/d3-polygon/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'polygonArea', function () {
                return d3_polygon__WEBPACK_IMPORTED_MODULE_19__['polygonArea'];
            });
            __webpack_require__.d(__webpack_exports__, 'polygonCentroid', function () {
                return d3_polygon__WEBPACK_IMPORTED_MODULE_19__['polygonCentroid'];
            });
            __webpack_require__.d(__webpack_exports__, 'polygonHull', function () {
                return d3_polygon__WEBPACK_IMPORTED_MODULE_19__['polygonHull'];
            });
            __webpack_require__.d(__webpack_exports__, 'polygonContains', function () {
                return d3_polygon__WEBPACK_IMPORTED_MODULE_19__['polygonContains'];
            });
            __webpack_require__.d(__webpack_exports__, 'polygonLength', function () {
                return d3_polygon__WEBPACK_IMPORTED_MODULE_19__['polygonLength'];
            });
            var d3_quadtree__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__('./node_modules/d3-quadtree/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'quadtree', function () {
                return d3_quadtree__WEBPACK_IMPORTED_MODULE_20__['quadtree'];
            });
            var d3_random__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__('./node_modules/d3-random/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'randomUniform', function () {
                return d3_random__WEBPACK_IMPORTED_MODULE_21__['randomUniform'];
            });
            __webpack_require__.d(__webpack_exports__, 'randomNormal', function () {
                return d3_random__WEBPACK_IMPORTED_MODULE_21__['randomNormal'];
            });
            __webpack_require__.d(__webpack_exports__, 'randomLogNormal', function () {
                return d3_random__WEBPACK_IMPORTED_MODULE_21__['randomLogNormal'];
            });
            __webpack_require__.d(__webpack_exports__, 'randomBates', function () {
                return d3_random__WEBPACK_IMPORTED_MODULE_21__['randomBates'];
            });
            __webpack_require__.d(__webpack_exports__, 'randomIrwinHall', function () {
                return d3_random__WEBPACK_IMPORTED_MODULE_21__['randomIrwinHall'];
            });
            __webpack_require__.d(__webpack_exports__, 'randomExponential', function () {
                return d3_random__WEBPACK_IMPORTED_MODULE_21__['randomExponential'];
            });
            var d3_scale__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__('./node_modules/d3-scale/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'scaleBand', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleBand'];
            });
            __webpack_require__.d(__webpack_exports__, 'scalePoint', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scalePoint'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleIdentity', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleIdentity'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleLinear', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleLinear'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleLog', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleLog'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleSymlog', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleSymlog'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleOrdinal', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleOrdinal'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleImplicit', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleImplicit'];
            });
            __webpack_require__.d(__webpack_exports__, 'scalePow', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scalePow'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleSqrt', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleSqrt'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleQuantile', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleQuantile'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleQuantize', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleQuantize'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleThreshold', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleThreshold'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleTime', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleTime'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleUtc', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleUtc'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleSequential', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleSequential'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleSequentialLog', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleSequentialLog'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleSequentialPow', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleSequentialPow'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleSequentialSqrt', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleSequentialSqrt'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleSequentialSymlog', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleSequentialSymlog'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleSequentialQuantile', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleSequentialQuantile'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleDiverging', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleDiverging'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleDivergingLog', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleDivergingLog'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleDivergingPow', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleDivergingPow'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleDivergingSqrt', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleDivergingSqrt'];
            });
            __webpack_require__.d(__webpack_exports__, 'scaleDivergingSymlog', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['scaleDivergingSymlog'];
            });
            __webpack_require__.d(__webpack_exports__, 'tickFormat', function () {
                return d3_scale__WEBPACK_IMPORTED_MODULE_22__['tickFormat'];
            });
            var d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__('./node_modules/d3-scale-chromatic/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'schemeCategory10', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeCategory10'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeAccent', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeAccent'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeDark2', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeDark2'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePaired', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemePaired'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePastel1', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemePastel1'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePastel2', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemePastel2'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeSet1', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeSet1'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeSet2', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeSet2'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeSet3', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeSet3'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeTableau10', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeTableau10'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateBrBG', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateBrBG'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeBrBG', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeBrBG'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolatePRGn', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolatePRGn'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePRGn', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemePRGn'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolatePiYG', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolatePiYG'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePiYG', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemePiYG'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolatePuOr', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolatePuOr'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePuOr', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemePuOr'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateRdBu', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateRdBu'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeRdBu', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeRdBu'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateRdGy', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateRdGy'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeRdGy', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeRdGy'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateRdYlBu', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateRdYlBu'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeRdYlBu', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeRdYlBu'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateRdYlGn', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateRdYlGn'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeRdYlGn', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeRdYlGn'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateSpectral', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateSpectral'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeSpectral', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeSpectral'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateBuGn', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateBuGn'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeBuGn', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeBuGn'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateBuPu', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateBuPu'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeBuPu', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeBuPu'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateGnBu', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateGnBu'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeGnBu', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeGnBu'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateOrRd', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateOrRd'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeOrRd', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeOrRd'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolatePuBuGn', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolatePuBuGn'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePuBuGn', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemePuBuGn'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolatePuBu', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolatePuBu'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePuBu', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemePuBu'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolatePuRd', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolatePuRd'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePuRd', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemePuRd'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateRdPu', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateRdPu'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeRdPu', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeRdPu'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateYlGnBu', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateYlGnBu'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeYlGnBu', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeYlGnBu'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateYlGn', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateYlGn'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeYlGn', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeYlGn'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateYlOrBr', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateYlOrBr'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeYlOrBr', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeYlOrBr'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateYlOrRd', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateYlOrRd'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeYlOrRd', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeYlOrRd'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateBlues', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateBlues'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeBlues', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeBlues'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateGreens', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateGreens'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeGreens', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeGreens'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateGreys', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateGreys'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeGreys', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeGreys'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolatePurples', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolatePurples'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemePurples', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemePurples'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateReds', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateReds'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeReds', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeReds'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateOranges', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateOranges'];
            });
            __webpack_require__.d(__webpack_exports__, 'schemeOranges', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['schemeOranges'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateCividis', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateCividis'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateCubehelixDefault', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateCubehelixDefault'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateRainbow', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateRainbow'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateWarm', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateWarm'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateCool', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateCool'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateSinebow', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateSinebow'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateTurbo', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateTurbo'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateViridis', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateViridis'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateMagma', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateMagma'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolateInferno', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolateInferno'];
            });
            __webpack_require__.d(__webpack_exports__, 'interpolatePlasma', function () {
                return d3_scale_chromatic__WEBPACK_IMPORTED_MODULE_23__['interpolatePlasma'];
            });
            var d3_selection__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__('./node_modules/d3-selection/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'create', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['create'];
            });
            __webpack_require__.d(__webpack_exports__, 'creator', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['creator'];
            });
            __webpack_require__.d(__webpack_exports__, 'local', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['local'];
            });
            __webpack_require__.d(__webpack_exports__, 'matcher', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['matcher'];
            });
            __webpack_require__.d(__webpack_exports__, 'mouse', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['mouse'];
            });
            __webpack_require__.d(__webpack_exports__, 'namespace', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['namespace'];
            });
            __webpack_require__.d(__webpack_exports__, 'namespaces', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['namespaces'];
            });
            __webpack_require__.d(__webpack_exports__, 'clientPoint', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['clientPoint'];
            });
            __webpack_require__.d(__webpack_exports__, 'select', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['select'];
            });
            __webpack_require__.d(__webpack_exports__, 'selectAll', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['selectAll'];
            });
            __webpack_require__.d(__webpack_exports__, 'selection', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['selection'];
            });
            __webpack_require__.d(__webpack_exports__, 'selector', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['selector'];
            });
            __webpack_require__.d(__webpack_exports__, 'selectorAll', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['selectorAll'];
            });
            __webpack_require__.d(__webpack_exports__, 'style', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['style'];
            });
            __webpack_require__.d(__webpack_exports__, 'touch', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['touch'];
            });
            __webpack_require__.d(__webpack_exports__, 'touches', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['touches'];
            });
            __webpack_require__.d(__webpack_exports__, 'window', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['window'];
            });
            __webpack_require__.d(__webpack_exports__, 'event', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['event'];
            });
            __webpack_require__.d(__webpack_exports__, 'customEvent', function () {
                return d3_selection__WEBPACK_IMPORTED_MODULE_24__['customEvent'];
            });
            var d3_shape__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__('./node_modules/d3-shape/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'arc', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['arc'];
            });
            __webpack_require__.d(__webpack_exports__, 'area', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['area'];
            });
            __webpack_require__.d(__webpack_exports__, 'line', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['line'];
            });
            __webpack_require__.d(__webpack_exports__, 'pie', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['pie'];
            });
            __webpack_require__.d(__webpack_exports__, 'areaRadial', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['areaRadial'];
            });
            __webpack_require__.d(__webpack_exports__, 'radialArea', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['radialArea'];
            });
            __webpack_require__.d(__webpack_exports__, 'lineRadial', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['lineRadial'];
            });
            __webpack_require__.d(__webpack_exports__, 'radialLine', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['radialLine'];
            });
            __webpack_require__.d(__webpack_exports__, 'pointRadial', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['pointRadial'];
            });
            __webpack_require__.d(__webpack_exports__, 'linkHorizontal', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['linkHorizontal'];
            });
            __webpack_require__.d(__webpack_exports__, 'linkVertical', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['linkVertical'];
            });
            __webpack_require__.d(__webpack_exports__, 'linkRadial', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['linkRadial'];
            });
            __webpack_require__.d(__webpack_exports__, 'symbol', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['symbol'];
            });
            __webpack_require__.d(__webpack_exports__, 'symbols', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['symbols'];
            });
            __webpack_require__.d(__webpack_exports__, 'symbolCircle', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['symbolCircle'];
            });
            __webpack_require__.d(__webpack_exports__, 'symbolCross', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['symbolCross'];
            });
            __webpack_require__.d(__webpack_exports__, 'symbolDiamond', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['symbolDiamond'];
            });
            __webpack_require__.d(__webpack_exports__, 'symbolSquare', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['symbolSquare'];
            });
            __webpack_require__.d(__webpack_exports__, 'symbolStar', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['symbolStar'];
            });
            __webpack_require__.d(__webpack_exports__, 'symbolTriangle', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['symbolTriangle'];
            });
            __webpack_require__.d(__webpack_exports__, 'symbolWye', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['symbolWye'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveBasisClosed', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveBasisClosed'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveBasisOpen', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveBasisOpen'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveBasis', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveBasis'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveBundle', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveBundle'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveCardinalClosed', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveCardinalClosed'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveCardinalOpen', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveCardinalOpen'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveCardinal', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveCardinal'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveCatmullRomClosed', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveCatmullRomClosed'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveCatmullRomOpen', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveCatmullRomOpen'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveCatmullRom', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveCatmullRom'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveLinearClosed', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveLinearClosed'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveLinear', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveLinear'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveMonotoneX', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveMonotoneX'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveMonotoneY', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveMonotoneY'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveNatural', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveNatural'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveStep', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveStep'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveStepAfter', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveStepAfter'];
            });
            __webpack_require__.d(__webpack_exports__, 'curveStepBefore', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['curveStepBefore'];
            });
            __webpack_require__.d(__webpack_exports__, 'stack', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['stack'];
            });
            __webpack_require__.d(__webpack_exports__, 'stackOffsetExpand', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['stackOffsetExpand'];
            });
            __webpack_require__.d(__webpack_exports__, 'stackOffsetDiverging', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['stackOffsetDiverging'];
            });
            __webpack_require__.d(__webpack_exports__, 'stackOffsetNone', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['stackOffsetNone'];
            });
            __webpack_require__.d(__webpack_exports__, 'stackOffsetSilhouette', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['stackOffsetSilhouette'];
            });
            __webpack_require__.d(__webpack_exports__, 'stackOffsetWiggle', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['stackOffsetWiggle'];
            });
            __webpack_require__.d(__webpack_exports__, 'stackOrderAppearance', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['stackOrderAppearance'];
            });
            __webpack_require__.d(__webpack_exports__, 'stackOrderAscending', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['stackOrderAscending'];
            });
            __webpack_require__.d(__webpack_exports__, 'stackOrderDescending', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['stackOrderDescending'];
            });
            __webpack_require__.d(__webpack_exports__, 'stackOrderInsideOut', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['stackOrderInsideOut'];
            });
            __webpack_require__.d(__webpack_exports__, 'stackOrderNone', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['stackOrderNone'];
            });
            __webpack_require__.d(__webpack_exports__, 'stackOrderReverse', function () {
                return d3_shape__WEBPACK_IMPORTED_MODULE_25__['stackOrderReverse'];
            });
            var d3_time__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__('./node_modules/d3-time/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'timeInterval', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeInterval'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeMillisecond', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeMillisecond'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeMilliseconds', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeMilliseconds'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcMillisecond', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcMillisecond'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcMilliseconds', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcMilliseconds'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeSecond', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeSecond'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeSeconds', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeSeconds'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcSecond', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcSecond'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcSeconds', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcSeconds'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeMinute', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeMinute'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeMinutes', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeMinutes'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeHour', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeHour'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeHours', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeHours'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeDay', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeDay'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeDays', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeDays'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeWeek', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeWeek'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeWeeks', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeWeeks'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeSunday', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeSunday'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeSundays', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeSundays'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeMonday', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeMonday'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeMondays', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeMondays'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeTuesday', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeTuesday'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeTuesdays', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeTuesdays'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeWednesday', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeWednesday'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeWednesdays', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeWednesdays'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeThursday', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeThursday'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeThursdays', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeThursdays'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeFriday', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeFriday'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeFridays', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeFridays'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeSaturday', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeSaturday'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeSaturdays', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeSaturdays'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeMonth', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeMonth'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeMonths', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeMonths'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeYear', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeYear'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeYears', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['timeYears'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcMinute', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcMinute'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcMinutes', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcMinutes'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcHour', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcHour'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcHours', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcHours'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcDay', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcDay'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcDays', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcDays'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcWeek', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcWeek'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcWeeks', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcWeeks'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcSunday', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcSunday'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcSundays', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcSundays'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcMonday', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcMonday'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcMondays', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcMondays'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcTuesday', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcTuesday'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcTuesdays', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcTuesdays'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcWednesday', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcWednesday'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcWednesdays', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcWednesdays'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcThursday', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcThursday'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcThursdays', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcThursdays'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcFriday', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcFriday'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcFridays', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcFridays'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcSaturday', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcSaturday'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcSaturdays', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcSaturdays'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcMonth', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcMonth'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcMonths', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcMonths'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcYear', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcYear'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcYears', function () {
                return d3_time__WEBPACK_IMPORTED_MODULE_26__['utcYears'];
            });
            var d3_time_format__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__('./node_modules/d3-time-format/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'timeFormatDefaultLocale', function () {
                return d3_time_format__WEBPACK_IMPORTED_MODULE_27__['timeFormatDefaultLocale'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeFormat', function () {
                return d3_time_format__WEBPACK_IMPORTED_MODULE_27__['timeFormat'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeParse', function () {
                return d3_time_format__WEBPACK_IMPORTED_MODULE_27__['timeParse'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcFormat', function () {
                return d3_time_format__WEBPACK_IMPORTED_MODULE_27__['utcFormat'];
            });
            __webpack_require__.d(__webpack_exports__, 'utcParse', function () {
                return d3_time_format__WEBPACK_IMPORTED_MODULE_27__['utcParse'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeFormatLocale', function () {
                return d3_time_format__WEBPACK_IMPORTED_MODULE_27__['timeFormatLocale'];
            });
            __webpack_require__.d(__webpack_exports__, 'isoFormat', function () {
                return d3_time_format__WEBPACK_IMPORTED_MODULE_27__['isoFormat'];
            });
            __webpack_require__.d(__webpack_exports__, 'isoParse', function () {
                return d3_time_format__WEBPACK_IMPORTED_MODULE_27__['isoParse'];
            });
            var d3_timer__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__('./node_modules/d3-timer/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'now', function () {
                return d3_timer__WEBPACK_IMPORTED_MODULE_28__['now'];
            });
            __webpack_require__.d(__webpack_exports__, 'timer', function () {
                return d3_timer__WEBPACK_IMPORTED_MODULE_28__['timer'];
            });
            __webpack_require__.d(__webpack_exports__, 'timerFlush', function () {
                return d3_timer__WEBPACK_IMPORTED_MODULE_28__['timerFlush'];
            });
            __webpack_require__.d(__webpack_exports__, 'timeout', function () {
                return d3_timer__WEBPACK_IMPORTED_MODULE_28__['timeout'];
            });
            __webpack_require__.d(__webpack_exports__, 'interval', function () {
                return d3_timer__WEBPACK_IMPORTED_MODULE_28__['interval'];
            });
            var d3_transition__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__('./node_modules/d3-transition/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'transition', function () {
                return d3_transition__WEBPACK_IMPORTED_MODULE_29__['transition'];
            });
            __webpack_require__.d(__webpack_exports__, 'active', function () {
                return d3_transition__WEBPACK_IMPORTED_MODULE_29__['active'];
            });
            __webpack_require__.d(__webpack_exports__, 'interrupt', function () {
                return d3_transition__WEBPACK_IMPORTED_MODULE_29__['interrupt'];
            });
            var d3_voronoi__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__('./node_modules/d3-voronoi/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'voronoi', function () {
                return d3_voronoi__WEBPACK_IMPORTED_MODULE_30__['voronoi'];
            });
            var d3_zoom__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__('./node_modules/d3-zoom/src/index.js');
            __webpack_require__.d(__webpack_exports__, 'zoom', function () {
                return d3_zoom__WEBPACK_IMPORTED_MODULE_31__['zoom'];
            });
            __webpack_require__.d(__webpack_exports__, 'zoomTransform', function () {
                return d3_zoom__WEBPACK_IMPORTED_MODULE_31__['zoomTransform'];
            });
            __webpack_require__.d(__webpack_exports__, 'zoomIdentity', function () {
                return d3_zoom__WEBPACK_IMPORTED_MODULE_31__['zoomIdentity'];
            });
        },
        './node_modules/process/browser.js': function (module, exports) {
            var process = module.exports = {};
            var cachedSetTimeout;
            var cachedClearTimeout;
            function defaultSetTimout() {
                throw new Error('setTimeout has not been defined');
            }
            function defaultClearTimeout() {
                throw new Error('clearTimeout has not been defined');
            }
            (function () {
                try {
                    if (typeof setTimeout === 'function') {
                        cachedSetTimeout = setTimeout;
                    } else {
                        cachedSetTimeout = defaultSetTimout;
                    }
                } catch (e) {
                    cachedSetTimeout = defaultSetTimout;
                }
                try {
                    if (typeof clearTimeout === 'function') {
                        cachedClearTimeout = clearTimeout;
                    } else {
                        cachedClearTimeout = defaultClearTimeout;
                    }
                } catch (e) {
                    cachedClearTimeout = defaultClearTimeout;
                }
            }());
            function runTimeout(fun) {
                if (cachedSetTimeout === setTimeout) {
                    return setTimeout(fun, 0);
                }
                if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {
                    cachedSetTimeout = setTimeout;
                    return setTimeout(fun, 0);
                }
                try {
                    return cachedSetTimeout(fun, 0);
                } catch (e) {
                    try {
                        return cachedSetTimeout.call(null, fun, 0);
                    } catch (e) {
                        return cachedSetTimeout.call(this, fun, 0);
                    }
                }
            }
            function runClearTimeout(marker) {
                if (cachedClearTimeout === clearTimeout) {
                    return clearTimeout(marker);
                }
                if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {
                    cachedClearTimeout = clearTimeout;
                    return clearTimeout(marker);
                }
                try {
                    return cachedClearTimeout(marker);
                } catch (e) {
                    try {
                        return cachedClearTimeout.call(null, marker);
                    } catch (e) {
                        return cachedClearTimeout.call(this, marker);
                    }
                }
            }
            var queue = [];
            var draining = false;
            var currentQueue;
            var queueIndex = -1;
            function cleanUpNextTick() {
                if (!draining || !currentQueue) {
                    return;
                }
                draining = false;
                if (currentQueue.length) {
                    queue = currentQueue.concat(queue);
                } else {
                    queueIndex = -1;
                }
                if (queue.length) {
                    drainQueue();
                }
            }
            function drainQueue() {
                if (draining) {
                    return;
                }
                var timeout = runTimeout(cleanUpNextTick);
                draining = true;
                var len = queue.length;
                while (len) {
                    currentQueue = queue;
                    queue = [];
                    while (++queueIndex < len) {
                        if (currentQueue) {
                            currentQueue[queueIndex].run();
                        }
                    }
                    queueIndex = -1;
                    len = queue.length;
                }
                currentQueue = null;
                draining = false;
                runClearTimeout(timeout);
            }
            process.nextTick = function (fun) {
                var args = new Array(arguments.length - 1);
                if (arguments.length > 1) {
                    for (var i = 1; i < arguments.length; i++) {
                        args[i - 1] = arguments[i];
                    }
                }
                queue.push(new Item(fun, args));
                if (queue.length === 1 && !draining) {
                    runTimeout(drainQueue);
                }
            };
            function Item(fun, array) {
                this.fun = fun;
                this.array = array;
            }
            Item.prototype.run = function () {
                this.fun.apply(null, this.array);
            };
            process.title = 'browser';
            process.browser = true;
            process.env = {};
            process.argv = [];
            process.version = '';
            process.versions = {};
            function noop() {
            }
            process.on = noop;
            process.addListener = noop;
            process.once = noop;
            process.off = noop;
            process.removeListener = noop;
            process.removeAllListeners = noop;
            process.emit = noop;
            process.prependListener = noop;
            process.prependOnceListener = noop;
            process.listeners = function (name) {
                return [];
            };
            process.binding = function (name) {
                throw new Error('process.binding is not supported');
            };
            process.cwd = function () {
                return '/';
            };
            process.chdir = function (dir) {
                throw new Error('process.chdir is not supported');
            };
            process.umask = function () {
                return 0;
            };
        },
        './node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js': function (module, exports, __webpack_require__) {
            'use strict';
            var isOldIE = function isOldIE() {
                var memo;
                return function memorize() {
                    if (typeof memo === 'undefined') {
                        memo = Boolean(window && document && document.all && !window.atob);
                    }
                    return memo;
                };
            }();
            var getTarget = function getTarget() {
                var memo = {};
                return function memorize(target) {
                    if (typeof memo[target] === 'undefined') {
                        var styleTarget = document.querySelector(target);
                        if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {
                            try {
                                styleTarget = styleTarget.contentDocument.head;
                            } catch (e) {
                                styleTarget = null;
                            }
                        }
                        memo[target] = styleTarget;
                    }
                    return memo[target];
                };
            }();
            var stylesInDom = [];
            function getIndexByIdentifier(identifier) {
                var result = -1;
                for (var i = 0; i < stylesInDom.length; i++) {
                    if (stylesInDom[i].identifier === identifier) {
                        result = i;
                        break;
                    }
                }
                return result;
            }
            function modulesToDom(list, options) {
                var idCountMap = {};
                var identifiers = [];
                for (var i = 0; i < list.length; i++) {
                    var item = list[i];
                    var id = options.base ? item[0] + options.base : item[0];
                    var count = idCountMap[id] || 0;
                    var identifier = ''.concat(id, ' ').concat(count);
                    idCountMap[id] = count + 1;
                    var index = getIndexByIdentifier(identifier);
                    var obj = {
                        css: item[1],
                        media: item[2],
                        sourceMap: item[3]
                    };
                    if (index !== -1) {
                        stylesInDom[index].references++;
                        stylesInDom[index].updater(obj);
                    } else {
                        stylesInDom.push({
                            identifier: identifier,
                            updater: addStyle(obj, options),
                            references: 1
                        });
                    }
                    identifiers.push(identifier);
                }
                return identifiers;
            }
            function insertStyleElement(options) {
                var style = document.createElement('style');
                var attributes = options.attributes || {};
                if (typeof attributes.nonce === 'undefined') {
                    var nonce = true ? __webpack_require__.nc : undefined;
                    if (nonce) {
                        attributes.nonce = nonce;
                    }
                }
                Object.keys(attributes).forEach(function (key) {
                    style.setAttribute(key, attributes[key]);
                });
                if (typeof options.insert === 'function') {
                    options.insert(style);
                } else {
                    var target = getTarget(options.insert || 'head');
                    if (!target) {
                        throw new Error('Couldn\'t find a style target. This probably means that the value for the \'insert\' parameter is invalid.');
                    }
                    target.appendChild(style);
                }
                return style;
            }
            function removeStyleElement(style) {
                if (style.parentNode === null) {
                    return false;
                }
                style.parentNode.removeChild(style);
            }
            var replaceText = function replaceText() {
                var textStore = [];
                return function replace(index, replacement) {
                    textStore[index] = replacement;
                    return textStore.filter(Boolean).join('\n');
                };
            }();
            function applyToSingletonTag(style, index, remove, obj) {
                var css = remove ? '' : obj.media ? '@media '.concat(obj.media, ' {').concat(obj.css, '}') : obj.css;
                if (style.styleSheet) {
                    style.styleSheet.cssText = replaceText(index, css);
                } else {
                    var cssNode = document.createTextNode(css);
                    var childNodes = style.childNodes;
                    if (childNodes[index]) {
                        style.removeChild(childNodes[index]);
                    }
                    if (childNodes.length) {
                        style.insertBefore(cssNode, childNodes[index]);
                    } else {
                        style.appendChild(cssNode);
                    }
                }
            }
            function applyToTag(style, options, obj) {
                var css = obj.css;
                var media = obj.media;
                var sourceMap = obj.sourceMap;
                if (media) {
                    style.setAttribute('media', media);
                } else {
                    style.removeAttribute('media');
                }
                if (sourceMap && typeof btoa !== 'undefined') {
                    css += '\n/*# sourceMappingURL=data:application/json;base64,'.concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), ' */');
                }
                if (style.styleSheet) {
                    style.styleSheet.cssText = css;
                } else {
                    while (style.firstChild) {
                        style.removeChild(style.firstChild);
                    }
                    style.appendChild(document.createTextNode(css));
                }
            }
            var singleton = null;
            var singletonCounter = 0;
            function addStyle(obj, options) {
                var style;
                var update;
                var remove;
                if (options.singleton) {
                    var styleIndex = singletonCounter++;
                    style = singleton || (singleton = insertStyleElement(options));
                    update = applyToSingletonTag.bind(null, style, styleIndex, false);
                    remove = applyToSingletonTag.bind(null, style, styleIndex, true);
                } else {
                    style = insertStyleElement(options);
                    update = applyToTag.bind(null, style, options);
                    remove = function remove() {
                        removeStyleElement(style);
                    };
                }
                update(obj);
                return function updateStyle(newObj) {
                    if (newObj) {
                        if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap) {
                            return;
                        }
                        update(obj = newObj);
                    } else {
                        remove();
                    }
                };
            }
            module.exports = function (list, options) {
                options = options || {};
                if (!options.singleton && typeof options.singleton !== 'boolean') {
                    options.singleton = isOldIE();
                }
                list = list || [];
                var lastIdentifiers = modulesToDom(list, options);
                return function update(newList) {
                    newList = newList || [];
                    if (Object.prototype.toString.call(newList) !== '[object Array]') {
                        return;
                    }
                    for (var i = 0; i < lastIdentifiers.length; i++) {
                        var identifier = lastIdentifiers[i];
                        var index = getIndexByIdentifier(identifier);
                        stylesInDom[index].references--;
                    }
                    var newLastIdentifiers = modulesToDom(newList, options);
                    for (var _i = 0; _i < lastIdentifiers.length; _i++) {
                        var _identifier = lastIdentifiers[_i];
                        var _index = getIndexByIdentifier(_identifier);
                        if (stylesInDom[_index].references === 0) {
                            stylesInDom[_index].updater();
                            stylesInDom.splice(_index, 1);
                        }
                    }
                    lastIdentifiers = newLastIdentifiers;
                };
            };
        },
        './node_modules/warning/warning.js': function (module, exports, __webpack_require__) {
            'use strict';
            var __DEV__ = 'development' !== 'production';
            var warning = function () {
            };
            if (__DEV__) {
                var printWarning = function printWarning(format, args) {
                    var len = arguments.length;
                    args = new Array(len > 1 ? len - 1 : 0);
                    for (var key = 1; key < len; key++) {
                        args[key - 1] = arguments[key];
                    }
                    var argIndex = 0;
                    var message = 'Warning: ' + format.replace(/%s/g, function () {
                        return args[argIndex++];
                    });
                    if (typeof console !== 'undefined') {
                        console.error(message);
                    }
                    try {
                        throw new Error(message);
                    } catch (x) {
                    }
                };
                warning = function (condition, format, args) {
                    var len = arguments.length;
                    args = new Array(len > 2 ? len - 2 : 0);
                    for (var key = 2; key < len; key++) {
                        args[key - 2] = arguments[key];
                    }
                    if (format === undefined) {
                        throw new Error('`warning(condition, format, ...args)` requires a warning ' + 'message argument');
                    }
                    if (!condition) {
                        printWarning.apply(null, [format].concat(args));
                    }
                };
            }
            module.exports = warning;
        },
        './node_modules/webpack/buildin/global.js': function (module, exports) {
            var g;
            g = function () {
                return this;
            }();
            try {
                g = g || new Function('return this')();
            } catch (e) {
                if (typeof window === 'object')
                    g = window;
            }
            module.exports = g;
        },
        './src/common/components/donut-chart/index.css': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js');
            var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__);
            var _node_modules_css_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./node_modules/css-loader/dist/cjs.js!./src/common/components/donut-chart/index.css');
            var options = {};
            options.insert = 'head';
            options.singleton = false;
            var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_css_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_1__['default'], options);
            __webpack_exports__['default'] = _node_modules_css_loader_dist_cjs_js_index_css__WEBPACK_IMPORTED_MODULE_1__['default'].locals || {};
        },
        './src/common/components/donut-chart/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _clayui_charts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/@clayui/charts/lib/index.js');
            var _clayui_charts__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(_clayui_charts__WEBPACK_IMPORTED_MODULE_0__);
            var _context_ClayIconProvider__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./src/common/context/ClayIconProvider.js');
            var _index_css__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./src/common/components/donut-chart/index.css');
            var React_raw = __REQUIRE__('__REACT_PROVIDER__$react');
            var React = React_raw && React_raw.__esModule ? React_raw['default'] : React_raw;
            var useEffect = __REQUIRE__('__REACT_PROVIDER__$react')['useEffect'];
            var useRef = __REQUIRE__('__REACT_PROVIDER__$react')['useRef'];
            var DonutChart = function DonutChart(_ref) {
                var _chartData$columns;
                var chartData = _ref.chartData, _ref$hasLegend = _ref.hasLegend, hasLegend = _ref$hasLegend === void 0 ? false : _ref$hasLegend, _ref$height = _ref.height, height = _ref$height === void 0 ? 190 : _ref$height, _ref$LegendElement = _ref.LegendElement, LegendElement = _ref$LegendElement === void 0 ? function () {
                        return null;
                    } : _ref$LegendElement, _ref$showLabel = _ref.showLabel, showLabel = _ref$showLabel === void 0 ? false : _ref$showLabel, _ref$showLegend = _ref.showLegend, showLegend = _ref$showLegend === void 0 ? false : _ref$showLegend, _ref$title = _ref.title, title = _ref$title === void 0 ? '' : _ref$title, _ref$width = _ref.width, width = _ref$width === void 0 ? 190 : _ref$width;
                var chartRef = useRef();
                useEffect(function () {
                    if (title) {
                        var titleElement = chartRef.current.element.querySelector('.bb-chart-arcs-title');
                        titleElement.textContent = title;
                    }
                }, [title]);
                return React.createElement(_context_ClayIconProvider__WEBPACK_IMPORTED_MODULE_1__['default'], null, React.createElement('div', { className: 'align-items-center d-flex donut-chart-container flex-wrap justify-content-center' }, React.createElement(_clayui_charts__WEBPACK_IMPORTED_MODULE_0___default.a, {
                    data: chartData,
                    donut: {
                        label: { show: showLabel },
                        title: '0',
                        width: 15
                    },
                    legend: { show: showLegend },
                    ref: chartRef,
                    size: {
                        height: height,
                        width: width
                    },
                    tooltip: {
                        contents: function contents(data) {
                            var title = Liferay.Language.get(data[0].id);
                            var percent = (data[0].ratio * 100).toFixed(1);
                            return '<div class="donut-chart-tooltip bg-neutral-0 d-flex font-weight-bold p-2 rounded-sm text-capitalize"><span class="d-flex mr-2 w-100 text-capitalize">'.concat(title, '</span> ').concat(percent, '%</div>');
                        }
                    }
                }), React.createElement(LegendElement, null), !hasLegend && React.createElement('div', { className: 'd-flex legend-container' }, chartData === null || chartData === void 0 ? void 0 : (_chartData$columns = chartData.columns) === null || _chartData$columns === void 0 ? void 0 : _chartData$columns.map(function (column, index) {
                    return React.createElement('div', {
                        className: 'd-flex flex-row justify-content-between legend-content pr-1',
                        key: index
                    }, React.createElement('div', { className: 'align-items-center d-flex flex-row justify-content-between mr-2' }, React.createElement('div', {
                        className: 'flex-shrink-0 legend-color mr-2 rounded-circle',
                        style: { backgroundColor: chartData === null || chartData === void 0 ? void 0 : chartData.colors[column[0]] }
                    }), React.createElement('span', { className: 'legend-title' }, column[2])), React.createElement('span', { className: 'font-weight-bolder' }, column[1]));
                }))));
            };
            __webpack_exports__['default'] = DonutChart;
        },
        './src/common/context/ClayIconProvider.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _clayui_icon__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/@clayui/icon/lib/index.js');
            var _clayui_icon__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(_clayui_icon__WEBPACK_IMPORTED_MODULE_0__);
            var _utils_liferay__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./src/common/utils/liferay.js');
            var React_raw = __REQUIRE__('__REACT_PROVIDER__$react');
            var React = React_raw && React_raw.__esModule ? React_raw['default'] : React_raw;
            var getIconSpriteMap = function getIconSpriteMap() {
                var pathThemeImages = _utils_liferay__WEBPACK_IMPORTED_MODULE_1__['Liferay'].ThemeDisplay.getPathThemeImages();
                var spritemap = ''.concat(pathThemeImages, '/clay/icons.svg');
                return spritemap;
            };
            var ClayIconProvider = function ClayIconProvider(_ref) {
                var children = _ref.children;
                return React.createElement(_clayui_icon__WEBPACK_IMPORTED_MODULE_0__['ClayIconSpriteContext'].Provider, { value: getIconSpriteMap() }, children);
            };
            __webpack_exports__['default'] = ClayIconProvider;
        },
        './src/common/services/Application.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'getApplicationsStatus', function () {
                return getApplicationsStatus;
            });
            __webpack_require__.d(__webpack_exports__, 'getApplicationsStatusTotal', function () {
                return getApplicationsStatusTotal;
            });
            __webpack_require__.d(__webpack_exports__, 'getApplications', function () {
                return getApplications;
            });
            __webpack_require__.d(__webpack_exports__, 'getNewSubmissions', function () {
                return getNewSubmissions;
            });
            var _liferay_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./src/common/services/liferay/api.js');
            var DeliveryAPI = 'o/c/raylifeapplications';
            function getApplicationsStatus(status) {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_0__['axios'].get(''.concat(DeliveryAPI, '/?filter=applicationStatus eq \'').concat(status, '\''));
            }
            function getApplicationsStatusTotal() {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_0__['axios'].get(''.concat(DeliveryAPI, '/?aggregationTerms=applicationStatus'));
            }
            function getApplications() {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_0__['axios'].get(''.concat(DeliveryAPI, '/'));
            }
            function getNewSubmissions(currentYear, currentMonth, periodYear, periodMonth) {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_0__['axios'].get(''.concat(DeliveryAPI, '/?fields=applicationStatus,applicationCreateDate&filter=applicationStatus ne \'bound\' and applicationStatus ne \'reviewed\' and applicationCreateDate le ').concat(currentYear, '-').concat(currentMonth, '-31 and applicationCreateDate ge ').concat(periodYear, '-').concat(periodMonth, '-01&pageSize=200'));
            }
        },
        './src/common/services/Claim.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'getTotalClaims', function () {
                return getTotalClaims;
            });
            __webpack_require__.d(__webpack_exports__, 'getActiveClaims', function () {
                return getActiveClaims;
            });
            __webpack_require__.d(__webpack_exports__, 'getClaimsStatus', function () {
                return getClaimsStatus;
            });
            __webpack_require__.d(__webpack_exports__, 'getClaimsByPeriodSettled', function () {
                return getClaimsByPeriodSettled;
            });
            __webpack_require__.d(__webpack_exports__, 'getClaimsByPeriod', function () {
                return getClaimsByPeriod;
            });
            __webpack_require__.d(__webpack_exports__, 'getClaims', function () {
                return getClaims;
            });
            __webpack_require__.d(__webpack_exports__, 'getSettledClaims', function () {
                return getSettledClaims;
            });
            var _liferay_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./src/common/services/liferay/api.js');
            var DeliveryAPI = 'o/c/raylifeclaims';
            function getTotalClaims() {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_0__['axios'].get(''.concat(DeliveryAPI, '/'));
            }
            function getActiveClaims() {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_0__['axios'].get(''.concat(DeliveryAPI, '/?filter=claimStatus ne \'declined\''));
            }
            function getClaimsStatus(status) {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_0__['axios'].get(''.concat(DeliveryAPI, '/?filter=claimStatus eq \'').concat(status, '\''));
            }
            function getClaimsByPeriodSettled(currentYear, currentMonth, currentDay, periodYear, periodMonth, periodDay) {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_0__['axios'].get(''.concat(DeliveryAPI, '/?fields=claimCreateDate,claimStatus,r_policyToClaims_c_raylifePolicyERC&pageSize=200&filter=claimStatus ne \'declined\' and claimCreateDate le ').concat(currentYear, '-').concat(currentMonth, '-').concat(currentDay, ' and claimCreateDate ge ').concat(periodYear, '-').concat(periodMonth, '-').concat(periodDay));
            }
            function getClaimsByPeriod(currentYear, currentMonth, currentDay, periodYear, periodMonth, periodDay) {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_0__['axios'].get(''.concat(DeliveryAPI, '/?fields=claimStatus,claimCreateDate,claimAmount&pageSize=200&filter=claimCreateDate ge ').concat(currentYear, '-').concat(currentMonth, '-').concat(currentDay, ' and claimCreateDate le ').concat(periodYear, '-').concat(periodMonth, '-').concat(periodDay));
            }
            function getClaims() {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_0__['axios'].get(''.concat(DeliveryAPI, '/?fields=claimStatus,claimCreateDate,claimAmount,r_policyToClaims_c_raylifePolicyERC&pageSize=200'));
            }
            function getSettledClaims(currentYear, currentMonth, currentDay, periodYear, periodMonth, periodDay) {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_0__['axios'].get(''.concat(DeliveryAPI, '/?fields=claimCreateDate,claimStatus,r_policyToClaims_c_raylifePolicyERC&pageSize=200&filter=claimStatus eq \'settled\' and claimCreateDate le ').concat(currentYear, '-').concat(currentMonth, '-').concat(currentDay, ' and claimCreateDate ge ').concat(periodYear, '-').concat(periodMonth, '-').concat(periodDay));
            }
        },
        './src/common/services/Policy.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'getPoliciesStatus', function () {
                return getPoliciesStatus;
            });
            __webpack_require__.d(__webpack_exports__, 'getActivePolicies', function () {
                return getActivePolicies;
            });
            __webpack_require__.d(__webpack_exports__, 'getSixMonthsAgoPolicies', function () {
                return getSixMonthsAgoPolicies;
            });
            __webpack_require__.d(__webpack_exports__, 'getLastYearSixMonthsPolicies', function () {
                return getLastYearSixMonthsPolicies;
            });
            __webpack_require__.d(__webpack_exports__, 'getPoliciesUntilCurrentMonth', function () {
                return getPoliciesUntilCurrentMonth;
            });
            __webpack_require__.d(__webpack_exports__, 'getPoliciesUntilCurrentMonthLastYear', function () {
                return getPoliciesUntilCurrentMonthLastYear;
            });
            __webpack_require__.d(__webpack_exports__, 'getPoliciesForSalesGoal', function () {
                return getPoliciesForSalesGoal;
            });
            __webpack_require__.d(__webpack_exports__, 'getPoliciesChartExpiringPolicies', function () {
                return getPoliciesChartExpiringPolicies;
            });
            __webpack_require__.d(__webpack_exports__, 'getPolicies', function () {
                return getPolicies;
            });
            var _utils_dateFormatter__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./src/common/utils/dateFormatter.js');
            var _liferay_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./src/common/services/liferay/api.js');
            var DeliveryAPI = 'o/c/raylifepolicies';
            var userId = Liferay.ThemeDisplay.getUserId();
            function getPoliciesStatus(totalCount) {
                return new Promise(function (resolve) {
                    resolve({ data: { totalCount: totalCount } });
                });
            }
            function getActivePolicies() {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_1__['axios'].get(''.concat(DeliveryAPI, '/?fields=policyStatus,productName&pageSize=200&aggregationTerms=policyStatus&filter=policyStatus ne \'expired\' and policyStatus ne \'declined\''));
            }
            function getSixMonthsAgoPolicies() {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_1__['axios'].get(''.concat(DeliveryAPI, '/?filter=policyStatus ne \'declined\' and (startDate le ').concat(_utils_dateFormatter__WEBPACK_IMPORTED_MODULE_0__['currentDate'], ' and startDate ge ').concat(_utils_dateFormatter__WEBPACK_IMPORTED_MODULE_0__['sixMonthsAgoDate'][0], '-').concat(_utils_dateFormatter__WEBPACK_IMPORTED_MODULE_0__['sixMonthsAgoDate'][1], '-01)&pageSize=200'));
            }
            function getLastYearSixMonthsPolicies() {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_1__['axios'].get(''.concat(DeliveryAPI, '/?filter=policyStatus ne \'declined\' and (startDate le ').concat(_utils_dateFormatter__WEBPACK_IMPORTED_MODULE_0__['oneYearAgoDate'], ' and startDate ge ').concat(_utils_dateFormatter__WEBPACK_IMPORTED_MODULE_0__['lastYearSixMonthsAgoPeriod'][0], '-').concat(_utils_dateFormatter__WEBPACK_IMPORTED_MODULE_0__['lastYearSixMonthsAgoPeriod'][1], '-01)&pageSize=200'));
            }
            function getPoliciesUntilCurrentMonth() {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_1__['axios'].get(''.concat(DeliveryAPI, '/?filter=policyStatus ne \'declined\' and (startDate le ').concat(_utils_dateFormatter__WEBPACK_IMPORTED_MODULE_0__['currentDate'], ' and startDate ge ').concat(_utils_dateFormatter__WEBPACK_IMPORTED_MODULE_0__['currentYear'], '-01-01)&pageSize=200'));
            }
            function getPoliciesUntilCurrentMonthLastYear() {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_1__['axios'].get(''.concat(DeliveryAPI, '/?filter=policyStatus ne \'declined\' and (startDate le ').concat(_utils_dateFormatter__WEBPACK_IMPORTED_MODULE_0__['oneYearAgoDate'], ' and startDate ge ').concat(_utils_dateFormatter__WEBPACK_IMPORTED_MODULE_0__['lastYear'], '-01-01)&pageSize=200'));
            }
            function getPoliciesForSalesGoal(currentYear, currentMonth, periodYear, periodMonth) {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_1__['axios'].get(''.concat(DeliveryAPI, '/?fields=boundDate,termPremium&pageSize=200&filter=policyStatus ne \'declined\' and userId eq \'').concat(userId, '\' and boundDate le ').concat(currentYear, '-').concat(currentMonth, '-31 and boundDate ge ').concat(periodYear, '-').concat(periodMonth, '-01'));
            }
            function getPoliciesChartExpiringPolicies(currentYear, currentMonth, currentDay, periodYear, periodMonth, periodDay) {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_1__['axios'].get(''.concat(DeliveryAPI, '/?fields=policyStatus,endDate,totalCount,productName,termPremium&pageSize=200&filter=policyStatus eq \'executed\' and endDate ge ').concat(currentYear, '-').concat(currentMonth, '-').concat(currentDay, ' and endDate le ').concat(periodYear, '-').concat(periodMonth, '-').concat(periodDay));
            }
            function getPolicies() {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_1__['axios'].get(''.concat(DeliveryAPI, '/?fields=endDate,totalCount,productName,termPremium,externalReferenceCode&pageSize=200'));
            }
        },
        './src/common/services/Products.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'getProducts', function () {
                return getProducts;
            });
            __webpack_require__.d(__webpack_exports__, 'getChannelId', function () {
                return getChannelId;
            });
            var _liferay_api__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./src/common/services/liferay/api.js');
            var headlessAPI = 'o/headless-commerce-delivery-catalog/v1.0';
            function getProducts() {
                var result = getChannelId('Raylife AP').then(function (response) {
                    var items = response.data.items;
                    var channelId = items[0].id;
                    return _liferay_api__WEBPACK_IMPORTED_MODULE_0__['axios'].get(''.concat(headlessAPI, '/channels/').concat(channelId, '/products?nestedFields=skus,catalog&page=1&pageSize=50'));
                });
                return result;
            }
            function getChannelId(channelName) {
                return _liferay_api__WEBPACK_IMPORTED_MODULE_0__['axios'].get(''.concat(headlessAPI, '/channels?filter=contains(name, \'').concat(channelName, '\')&fields=id'));
            }
        },
        './src/common/services/Report.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'getReportsStatus', function () {
                return getReportsStatus;
            });
            function getReportsStatus(totalCount) {
                return new Promise(function (resolve) {
                    resolve({ data: { totalCount: totalCount } });
                });
            }
        },
        './src/common/services/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _Application__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./src/common/services/Application.js');
            __webpack_require__.d(__webpack_exports__, 'getApplicationsStatus', function () {
                return _Application__WEBPACK_IMPORTED_MODULE_0__['getApplicationsStatus'];
            });
            __webpack_require__.d(__webpack_exports__, 'getApplicationsStatusTotal', function () {
                return _Application__WEBPACK_IMPORTED_MODULE_0__['getApplicationsStatusTotal'];
            });
            __webpack_require__.d(__webpack_exports__, 'getApplications', function () {
                return _Application__WEBPACK_IMPORTED_MODULE_0__['getApplications'];
            });
            __webpack_require__.d(__webpack_exports__, 'getNewSubmissions', function () {
                return _Application__WEBPACK_IMPORTED_MODULE_0__['getNewSubmissions'];
            });
            var _Claim__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./src/common/services/Claim.js');
            __webpack_require__.d(__webpack_exports__, 'getTotalClaims', function () {
                return _Claim__WEBPACK_IMPORTED_MODULE_1__['getTotalClaims'];
            });
            __webpack_require__.d(__webpack_exports__, 'getActiveClaims', function () {
                return _Claim__WEBPACK_IMPORTED_MODULE_1__['getActiveClaims'];
            });
            __webpack_require__.d(__webpack_exports__, 'getClaimsStatus', function () {
                return _Claim__WEBPACK_IMPORTED_MODULE_1__['getClaimsStatus'];
            });
            __webpack_require__.d(__webpack_exports__, 'getClaimsByPeriodSettled', function () {
                return _Claim__WEBPACK_IMPORTED_MODULE_1__['getClaimsByPeriodSettled'];
            });
            __webpack_require__.d(__webpack_exports__, 'getClaimsByPeriod', function () {
                return _Claim__WEBPACK_IMPORTED_MODULE_1__['getClaimsByPeriod'];
            });
            __webpack_require__.d(__webpack_exports__, 'getClaims', function () {
                return _Claim__WEBPACK_IMPORTED_MODULE_1__['getClaims'];
            });
            __webpack_require__.d(__webpack_exports__, 'getSettledClaims', function () {
                return _Claim__WEBPACK_IMPORTED_MODULE_1__['getSettledClaims'];
            });
            var _Policy__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__('./src/common/services/Policy.js');
            __webpack_require__.d(__webpack_exports__, 'getPoliciesStatus', function () {
                return _Policy__WEBPACK_IMPORTED_MODULE_2__['getPoliciesStatus'];
            });
            __webpack_require__.d(__webpack_exports__, 'getActivePolicies', function () {
                return _Policy__WEBPACK_IMPORTED_MODULE_2__['getActivePolicies'];
            });
            __webpack_require__.d(__webpack_exports__, 'getSixMonthsAgoPolicies', function () {
                return _Policy__WEBPACK_IMPORTED_MODULE_2__['getSixMonthsAgoPolicies'];
            });
            __webpack_require__.d(__webpack_exports__, 'getLastYearSixMonthsPolicies', function () {
                return _Policy__WEBPACK_IMPORTED_MODULE_2__['getLastYearSixMonthsPolicies'];
            });
            __webpack_require__.d(__webpack_exports__, 'getPoliciesUntilCurrentMonth', function () {
                return _Policy__WEBPACK_IMPORTED_MODULE_2__['getPoliciesUntilCurrentMonth'];
            });
            __webpack_require__.d(__webpack_exports__, 'getPoliciesUntilCurrentMonthLastYear', function () {
                return _Policy__WEBPACK_IMPORTED_MODULE_2__['getPoliciesUntilCurrentMonthLastYear'];
            });
            __webpack_require__.d(__webpack_exports__, 'getPoliciesForSalesGoal', function () {
                return _Policy__WEBPACK_IMPORTED_MODULE_2__['getPoliciesForSalesGoal'];
            });
            __webpack_require__.d(__webpack_exports__, 'getPoliciesChartExpiringPolicies', function () {
                return _Policy__WEBPACK_IMPORTED_MODULE_2__['getPoliciesChartExpiringPolicies'];
            });
            __webpack_require__.d(__webpack_exports__, 'getPolicies', function () {
                return _Policy__WEBPACK_IMPORTED_MODULE_2__['getPolicies'];
            });
            var _Products__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__('./src/common/services/Products.js');
            __webpack_require__.d(__webpack_exports__, 'getProducts', function () {
                return _Products__WEBPACK_IMPORTED_MODULE_3__['getProducts'];
            });
            __webpack_require__.d(__webpack_exports__, 'getChannelId', function () {
                return _Products__WEBPACK_IMPORTED_MODULE_3__['getChannelId'];
            });
            var _Report__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__('./src/common/services/Report.js');
            __webpack_require__.d(__webpack_exports__, 'getReportsStatus', function () {
                return _Report__WEBPACK_IMPORTED_MODULE_4__['getReportsStatus'];
            });
        },
        './src/common/services/liferay/api.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            (function (process) {
                __webpack_require__.d(__webpack_exports__, 'axios', function () {
                    return axios;
                });
                var axios__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./node_modules/axios/index.js');
                var axios__WEBPACK_IMPORTED_MODULE_0___default = __webpack_require__.n(axios__WEBPACK_IMPORTED_MODULE_0__);
                var _utils_liferay__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./src/common/utils/liferay.js');
                var _process$env$REACT_AP = process.env.REACT_APP_LIFERAY_API, REACT_APP_LIFERAY_API = _process$env$REACT_AP === void 0 ? window.location.origin : _process$env$REACT_AP;
                var axios = axios__WEBPACK_IMPORTED_MODULE_0___default.a.create({
                    baseURL: REACT_APP_LIFERAY_API,
                    headers: { 'x-csrf-token': _utils_liferay__WEBPACK_IMPORTED_MODULE_1__['Liferay'].authToken }
                });
            }.call(this, __webpack_require__('./node_modules/process/browser.js')));
        },
        './src/common/utils/constants.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'CONSTANTS', function () {
                return CONSTANTS;
            });
            var CONSTANTS = {
                DEVICES: {
                    DESKTOP: 'DESKTOP',
                    PHONE: 'PHONE',
                    TABLET: 'TABLET'
                },
                MONTHS_ABREVIATIONS: [
                    'Jan',
                    'Feb',
                    'Mar',
                    'Apr',
                    'May',
                    'Jun',
                    'Jul',
                    'Aug',
                    'Sep',
                    'Oct',
                    'Nov',
                    'Dec'
                ],
                STATUS: {
                    APPROVED: 'approved',
                    BOUND: 'bound',
                    INCOMPLETE: 'incomplete',
                    ININVESTIGATION: 'inInvestigation',
                    OPEN: 'open',
                    QUOTED: 'quoted',
                    REJECTED: 'rejected',
                    REVIEWED: 'reviewed',
                    UNDERWRITING: 'underwriting'
                }
            };
        },
        './src/common/utils/dateFormatter.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'convertDateToString', function () {
                return convertDateToString;
            });
            __webpack_require__.d(__webpack_exports__, 'getCurrentDay', function () {
                return getCurrentDay;
            });
            __webpack_require__.d(__webpack_exports__, 'currentYear', function () {
                return currentYear;
            });
            __webpack_require__.d(__webpack_exports__, 'currentDate', function () {
                return currentDate;
            });
            __webpack_require__.d(__webpack_exports__, 'currentDateString', function () {
                return currentDateString;
            });
            __webpack_require__.d(__webpack_exports__, 'getCurrentMonth', function () {
                return getCurrentMonth;
            });
            __webpack_require__.d(__webpack_exports__, 'sixMonthsAgo', function () {
                return sixMonthsAgo;
            });
            __webpack_require__.d(__webpack_exports__, 'threeMonthsAgo', function () {
                return threeMonthsAgo;
            });
            __webpack_require__.d(__webpack_exports__, 'nextMonth', function () {
                return nextMonth;
            });
            __webpack_require__.d(__webpack_exports__, 'nextThreeMonths', function () {
                return nextThreeMonths;
            });
            __webpack_require__.d(__webpack_exports__, 'lastDayOfMonth', function () {
                return lastDayOfMonth;
            });
            __webpack_require__.d(__webpack_exports__, 'fistDay', function () {
                return fistDay;
            });
            __webpack_require__.d(__webpack_exports__, 'fistDayOfMonth', function () {
                return fistDayOfMonth;
            });
            __webpack_require__.d(__webpack_exports__, 'firstMonthOfYear', function () {
                return firstMonthOfYear;
            });
            __webpack_require__.d(__webpack_exports__, 'lastMonth', function () {
                return lastMonth;
            });
            __webpack_require__.d(__webpack_exports__, 'lastYear', function () {
                return lastYear;
            });
            __webpack_require__.d(__webpack_exports__, 'january', function () {
                return january;
            });
            __webpack_require__.d(__webpack_exports__, 'december', function () {
                return december;
            });
            __webpack_require__.d(__webpack_exports__, 'arrayOfMonthsWith30Days', function () {
                return arrayOfMonthsWith30Days;
            });
            __webpack_require__.d(__webpack_exports__, 'arrayOfMonthsWith31Days', function () {
                return arrayOfMonthsWith31Days;
            });
            __webpack_require__.d(__webpack_exports__, 'lastDayOfLastMonthDate', function () {
                return lastDayOfLastMonthDate;
            });
            __webpack_require__.d(__webpack_exports__, 'firstDayOfLastMonthDate', function () {
                return firstDayOfLastMonthDate;
            });
            __webpack_require__.d(__webpack_exports__, 'lastMonthDate', function () {
                return lastMonthDate;
            });
            __webpack_require__.d(__webpack_exports__, 'lastDateOfLastYear', function () {
                return lastDateOfLastYear;
            });
            __webpack_require__.d(__webpack_exports__, 'threeMonthsAgoDate', function () {
                return threeMonthsAgoDate;
            });
            __webpack_require__.d(__webpack_exports__, 'threeMonthsAgoDateLastYearFirstDay', function () {
                return threeMonthsAgoDateLastYearFirstDay;
            });
            __webpack_require__.d(__webpack_exports__, 'threeMonthsAgoDateLastYearLastDay', function () {
                return threeMonthsAgoDateLastYearLastDay;
            });
            __webpack_require__.d(__webpack_exports__, 'sixMonthsAgoDateLastYearFirstDay', function () {
                return sixMonthsAgoDateLastYearFirstDay;
            });
            __webpack_require__.d(__webpack_exports__, 'sixMonthsAgoDateLastYearLastDay', function () {
                return sixMonthsAgoDateLastYearLastDay;
            });
            __webpack_require__.d(__webpack_exports__, 'sixMonthsAgoDate', function () {
                return sixMonthsAgoDate;
            });
            __webpack_require__.d(__webpack_exports__, 'yearToDate', function () {
                return yearToDate;
            });
            __webpack_require__.d(__webpack_exports__, 'yearToDateLastYear', function () {
                return yearToDateLastYear;
            });
            __webpack_require__.d(__webpack_exports__, 'oneYearAgoDate', function () {
                return oneYearAgoDate;
            });
            __webpack_require__.d(__webpack_exports__, 'lastYearSixMonthsAgoPeriod', function () {
                return lastYearSixMonthsAgoPeriod;
            });
            __webpack_require__.d(__webpack_exports__, 'nextMonthDate', function () {
                return nextMonthDate;
            });
            __webpack_require__.d(__webpack_exports__, 'nextThreeMonthsDate', function () {
                return nextThreeMonthsDate;
            });
            __webpack_require__.d(__webpack_exports__, 'lastDateCurrentMonth', function () {
                return lastDateCurrentMonth;
            });
            __webpack_require__.d(__webpack_exports__, 'lastDateNextThreeMonth', function () {
                return lastDateNextThreeMonth;
            });
            __webpack_require__.d(__webpack_exports__, 'getDayOfYear', function () {
                return getDayOfYear;
            });
            __webpack_require__.d(__webpack_exports__, 'default', function () {
                return formatDate;
            });
            var _constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./src/common/utils/constants.js');
            function convertDateToString(date) {
                var newDate = date.toISOString().substring(0, 10);
                return newDate;
            }
            var getCurrentDay = new Date().getDate();
            var currentYear = new Date().getFullYear();
            var currentDate = convertDateToString(new Date());
            var currentDateString = currentDate.split('-');
            var getCurrentMonth = new Date().getMonth();
            var sixMonthsAgo = getCurrentMonth - 5;
            var threeMonthsAgo = getCurrentMonth - 2;
            var nextMonth = getCurrentMonth + 1;
            var nextThreeMonths = getCurrentMonth + 3;
            var lastDayOfMonth = 0;
            var fistDay = 1;
            var fistDayOfMonth = 1;
            var firstMonthOfYear = 0;
            var lastMonth = getCurrentMonth - 1;
            var lastYear = currentYear - 1;
            var january = '01';
            var december = '12';
            var arrayOfMonthsWith30Days = [
                3,
                5,
                8,
                10
            ];
            var arrayOfMonthsWith31Days = [
                0,
                2,
                4,
                6,
                7,
                9,
                11
            ];
            var lastDayOfLastMonthDate = convertDateToString(new Date(new Date(new Date().setMonth(getCurrentMonth)).setDate(lastDayOfMonth))).split('-');
            var firstDayOfLastMonthDate = convertDateToString(new Date(new Date(new Date().setMonth(lastMonth)).setDate(fistDayOfMonth))).split('-');
            var lastMonthDate = convertDateToString(new Date(new Date().setMonth(lastMonth))).split('-');
            var lastDateOfLastYear = convertDateToString(new Date(new Date(new Date(new Date().setFullYear(lastYear)).setMonth(getCurrentMonth + 1)).setDate(lastDayOfMonth))).split('-');
            var threeMonthsAgoDate = convertDateToString(new Date(new Date(new Date().setMonth(threeMonthsAgo)).setDate(fistDayOfMonth))).split('-');
            var generateDateThroughPeriod = function generateDateThroughPeriod(period, day) {
                var generatedDate = convertDateToString(new Date(new Date(new Date(new Date().setFullYear(lastYear)).setMonth(period)).setDate(day))).split('-');
                return generatedDate;
            };
            var threeMonthsAgoDateLastYearFirstDay = generateDateThroughPeriod(threeMonthsAgo, fistDayOfMonth);
            var threeMonthsAgoDateLastYearLastDay = generateDateThroughPeriod(getCurrentMonth + 1, lastDayOfMonth);
            var sixMonthsAgoDateLastYearFirstDay = generateDateThroughPeriod(sixMonthsAgo, fistDayOfMonth);
            var sixMonthsAgoDateLastYearLastDay = generateDateThroughPeriod(getCurrentMonth + 1, lastDayOfMonth);
            var sixMonthsAgoDate = convertDateToString(new Date(new Date(new Date().setMonth(sixMonthsAgo)).setDate(fistDayOfMonth))).split('-');
            var yearToDate = convertDateToString(new Date(new Date(new Date().setMonth(firstMonthOfYear)).setDate(fistDayOfMonth))).split('-');
            var yearToDateLastYear = convertDateToString(new Date(new Date(new Date(new Date().setFullYear(lastYear)).setMonth(firstMonthOfYear)).setDate(fistDayOfMonth))).split('-');
            var oneYearAgoDate = convertDateToString(new Date(new Date().setFullYear(lastYear)));
            var lastYearSixMonthsAgoPeriod = convertDateToString(new Date(new Date(new Date().setFullYear(lastYear)).setMonth(sixMonthsAgo))).split('-');
            var nextMonthDate = convertDateToString(new Date(new Date().setMonth(nextMonth))).split('-');
            var nextThreeMonthsDate = convertDateToString(new Date(new Date().setMonth(nextThreeMonths))).split('-');
            var lastDateCurrentMonth = convertDateToString(new Date(new Date(new Date().setMonth(nextMonth)).setDate(0))).split('-');
            var lastDateNextThreeMonth = convertDateToString(new Date(new Date(new Date().setMonth(nextThreeMonths)).setDate(0))).split('-');
            var getDayOfYear = Math.floor((new Date() - new Date(new Date().getFullYear(), 0, 0)) / 1000 / 60 / 60 / 24);
            function formatDate(date, withSlash) {
                var newDate = date.toISOString().substring(0, 10).split('-');
                if (withSlash) {
                    return ''.concat(newDate[1], '/').concat(newDate[2], '/').concat(newDate[0]);
                }
                return ''.concat(_constants__WEBPACK_IMPORTED_MODULE_0__['CONSTANTS'].MONTHS_ABREVIATIONS[date.getMonth()], ' ').concat(newDate[2], ', ').concat(newDate[0]);
            }
        },
        './src/common/utils/liferay.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            __webpack_require__.d(__webpack_exports__, 'Liferay', function () {
                return Liferay;
            });
            __webpack_require__.d(__webpack_exports__, 'getLiferaySiteName', function () {
                return getLiferaySiteName;
            });
            __webpack_require__.d(__webpack_exports__, 'redirectTo', function () {
                return redirectTo;
            });
            var pagePreviewEnabled = false;
            var Liferay = window.Liferay || {
                BREAKPOINTS: {
                    PHONE: 0,
                    TABLET: 0
                },
                ThemeDisplay: {
                    getCanonicalURL: function getCanonicalURL() {
                        return window.location.href;
                    },
                    getCompanyGroupId: function getCompanyGroupId() {
                        return 0;
                    },
                    getPathThemeImages: function getPathThemeImages() {
                        return null;
                    },
                    getScopeGroupId: function getScopeGroupId() {
                        return 0;
                    },
                    getSiteGroupId: function getSiteGroupId() {
                        return 0;
                    }
                },
                authToken: ''
            };
            function getLiferaySiteName() {
                var _URL = new URL(Liferay.ThemeDisplay.getCanonicalURL()), pathname = _URL.pathname;
                var urlPaths = pathname.split('/').filter(Boolean);
                var siteName = '/'.concat(urlPaths.slice(0, urlPaths.length > 2 ? urlPaths.length - 1 : urlPaths.length).join('/'));
                return siteName;
            }
            function redirectTo() {
                var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
                var currentSiteName = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : getLiferaySiteName();
                var queryParams = pagePreviewEnabled ? '?p_l_mode=preview' : '';
                window.location.href = ''.concat(currentSiteName, '/').concat(url).concat(queryParams);
            }
        },
        './src/raylife-ap-react-fragments/fragments/claims-total/index.js': function (module, __webpack_exports__, __webpack_require__) {
            'use strict';
            __webpack_require__.r(__webpack_exports__);
            var _common_components_donut_chart__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__('./src/common/components/donut-chart/index.js');
            var _common_services__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__('./src/common/services/index.js');
            var React_raw = __REQUIRE__('__REACT_PROVIDER__$react');
            var React = React_raw && React_raw.__esModule ? React_raw['default'] : React_raw;
            var useEffect = __REQUIRE__('__REACT_PROVIDER__$react')['useEffect'];
            var useState = __REQUIRE__('__REACT_PROVIDER__$react')['useState'];
            function _slicedToArray(arr, i) {
                return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest();
            }
            function _nonIterableRest() {
                throw new TypeError('Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.');
            }
            function _unsupportedIterableToArray(o, minLen) {
                if (!o)
                    return;
                if (typeof o === 'string')
                    return _arrayLikeToArray(o, minLen);
                var n = Object.prototype.toString.call(o).slice(8, -1);
                if (n === 'Object' && o.constructor)
                    n = o.constructor.name;
                if (n === 'Map' || n === 'Set')
                    return Array.from(o);
                if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
                    return _arrayLikeToArray(o, minLen);
            }
            function _arrayLikeToArray(arr, len) {
                if (len == null || len > arr.length)
                    len = arr.length;
                for (var i = 0, arr2 = new Array(len); i < len; i++) {
                    arr2[i] = arr[i];
                }
                return arr2;
            }
            function _iterableToArrayLimit(arr, i) {
                var _i = arr == null ? null : typeof Symbol !== 'undefined' && arr[Symbol.iterator] || arr['@@iterator'];
                if (_i == null)
                    return;
                var _arr = [];
                var _n = true;
                var _d = false;
                var _s, _e;
                try {
                    for (_i = _i.call(arr); !(_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;
            }
            __webpack_exports__['default'] = function () {
                var _useState = useState(''), _useState2 = _slicedToArray(_useState, 2), chartTitle = _useState2[0], setChartTitle = _useState2[1];
                var _useState3 = useState(false), _useState4 = _slicedToArray(_useState3, 2), loadData = _useState4[0], setLoadData = _useState4[1];
                var _useState5 = useState([]), _useState6 = _slicedToArray(_useState5, 2), columns = _useState6[0], setColumns = _useState6[1];
                var _useState7 = useState({}), _useState8 = _slicedToArray(_useState7, 2), colors = _useState8[0], setColors = _useState8[1];
                var colorsArray = [
                    '#7154E1',
                    '#55C2FF',
                    '#4BC286',
                    '#FF9A24',
                    '#EC676A',
                    '#D9E4FE',
                    '#1F77B4',
                    '#D1D1D9',
                    '#B5CDFE'
                ];
                var MAX_NAME_LENGHT = 15;
                useEffect(function () {
                    Promise.allSettled([
                        Object(_common_services__WEBPACK_IMPORTED_MODULE_1__['getProducts'])(),
                        Object(_common_services__WEBPACK_IMPORTED_MODULE_1__['getClaims'])(),
                        Object(_common_services__WEBPACK_IMPORTED_MODULE_1__['getPolicies'])()
                    ]).then(function (results) {
                        var _claimsResult$value, _policiesResult$value, _policiesResult$value2, _totalClaims$items, _productQuotesResult$, _productQuotesResult$2, _productQuotesResult$3;
                        var _results = _slicedToArray(results, 3), productQuotesResult = _results[0], claimsResult = _results[1], policiesResult = _results[2];
                        var columnsArr = [];
                        var colorsObj = {};
                        var totalClaims = claimsResult === null || claimsResult === void 0 ? void 0 : (_claimsResult$value = claimsResult.value) === null || _claimsResult$value === void 0 ? void 0 : _claimsResult$value.data;
                        var totalPolicies = policiesResult === null || policiesResult === void 0 ? void 0 : (_policiesResult$value = policiesResult.value) === null || _policiesResult$value === void 0 ? void 0 : (_policiesResult$value2 = _policiesResult$value.data) === null || _policiesResult$value2 === void 0 ? void 0 : _policiesResult$value2.items;
                        var productNameOfClaims = totalClaims === null || totalClaims === void 0 ? void 0 : (_totalClaims$items = totalClaims.items) === null || _totalClaims$items === void 0 ? void 0 : _totalClaims$items.map(function (claim) {
                            var getPolicyThroughClaim = totalPolicies === null || totalPolicies === void 0 ? void 0 : totalPolicies.filter(function (policy) {
                                return policy.externalReferenceCode === claim.r_policyToClaims_c_raylifePolicyERC;
                            });
                            return getPolicyThroughClaim[0];
                        });
                        setChartTitle(totalClaims === null || totalClaims === void 0 ? void 0 : totalClaims.totalCount);
                        productQuotesResult === null || productQuotesResult === void 0 ? void 0 : (_productQuotesResult$ = productQuotesResult.value) === null || _productQuotesResult$ === void 0 ? void 0 : (_productQuotesResult$2 = _productQuotesResult$.data) === null || _productQuotesResult$2 === void 0 ? void 0 : (_productQuotesResult$3 = _productQuotesResult$2.items) === null || _productQuotesResult$3 === void 0 ? void 0 : _productQuotesResult$3.map(function (productQuote, index) {
                            var _productName;
                            var countActiveClaims = productNameOfClaims === null || productNameOfClaims === void 0 ? void 0 : productNameOfClaims.filter(function (policy) {
                                return productQuote.name === policy.productName;
                            }).length;
                            var shortDescription = productQuote.shortDescription;
                            var fullName = productQuote.name;
                            var productName = fullName;
                            var productAbbrevation = productName.split(' ').map(function (product) {
                                return product.charAt(0);
                            }).join('');
                            if (((_productName = productName) === null || _productName === void 0 ? void 0 : _productName.length) > MAX_NAME_LENGHT) {
                                productName = shortDescription === '' ? productAbbrevation : shortDescription;
                            }
                            colorsObj[fullName] = colorsArray[index];
                            if (countActiveClaims > 0) {
                                columnsArr[index] = [
                                    fullName,
                                    countActiveClaims,
                                    productName
                                ];
                            }
                        });
                        setColumns(columnsArr);
                        setColors(colorsObj);
                        setLoadData(true);
                    });
                }, []);
                var chartData = {
                    colors: colors,
                    columns: columns,
                    onclick: function onclick(event) {
                        var EVENT_OPTION = {
                            async: true,
                            fireOn: true
                        };
                        var eventPublish = Liferay.publish('openSettingsFilterClaimsEvent', EVENT_OPTION);
                        eventPublish.fire({ eventName: event.name });
                    },
                    type: 'donut'
                };
                return React.createElement('div', { className: 'claims-total-container d-flex flex-column flex-shrink-0 pb-4 pt-3 px-3' }, React.createElement('div', { className: 'claims-total-title font-weight-bolder h4' }, 'Total Claims'), !!chartData.columns.length && React.createElement(_common_components_donut_chart__WEBPACK_IMPORTED_MODULE_0__['default'], {
                    chartData: chartData,
                    title: chartTitle
                }), !chartData.columns.length && loadData && React.createElement('div', { className: 'align-items-center d-flex flex-grow-1 justify-content-center' }, React.createElement('span', null, 'No Data Applications')));
            };
        }
    }));
});
//# sourceMappingURL=index.js.map