1 line
114 KiB
Plaintext
1 line
114 KiB
Plaintext
{"version":3,"file":"hierarchy.js","sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap 840223c305473abed4c8","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-array.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-array-like.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/each.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-function.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-type.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-number.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-nil.js","webpack:///./src/util.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-string.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-plain-object.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/to-string.js","webpack:///./src/layout/base.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/contains.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-object.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/filter.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-object-like.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/mix.js","webpack:///./src/layout/do-layout.js","webpack:///./src/layout/hierarchy.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-match.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/keys.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/pull-at.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/uniq.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/group-to-map.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/group-by.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/has.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/values.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/get-type.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-prototype.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-equal.js","webpack:///./src/layout/separate-root.js","webpack:///./src/index.js","webpack:///./src/compact-box.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/index.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/difference.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/find.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/find-index.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/first-value.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/flatten.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/flatten-deep.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/get-range.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/pull.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/reduce.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/remove.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/sort-by.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/union.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/values-of-key.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/head.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/last.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/starts-with.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/ends-with.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/every.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/some.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/group.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/get-wrap-behavior.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/wrap-behavior.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/number2color.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/parse-radius.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/clamp.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/fixed-base.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-decimal.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-even.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-integer.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-negative.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-number-equal.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-odd.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-positive.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/max-by.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/min-by.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/mod.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/to-degree.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/to-integer.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/to-radian.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/for-in.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/has-key.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/has-value.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/lower-case.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/lower-first.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/substitute.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/upper-case.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/upper-first.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-arguments.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-boolean.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-date.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-error.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-finite.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-null.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-reg-exp.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-undefined.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-element.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/request-animation-frame.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/clear-animation-frame.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/augment.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/clone.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/debounce.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/memoize.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/deep-mix.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/extend.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/index-of.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-empty.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-equal-with.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/map.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/map-values.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/get.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/set.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/pick.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/throttle.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/to-array.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/unique-id.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/noop.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/identity.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/size.js","webpack:///./node_modules/_@antv_util@2.0.7@@antv/util/esm/cache.js","webpack:///./src/layout/non-layered-tidy.js","webpack:///./src/dendrogram.js","webpack:///./src/layout/dendrogram.js","webpack:///./src/indented.js","webpack:///./src/layout/indented.js","webpack:///./src/mindmap.js","webpack:///./src/layout/mindmap.js"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"Hierarchy\"] = factory();\n\telse\n\t\troot[\"Hierarchy\"] = factory();\n})(typeof self !== 'undefined' ? self : this, function() {\nreturn \n\n\n// WEBPACK FOOTER //\n// webpack/universalModuleDefinition"," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 31);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 840223c305473abed4c8","import isType from './is-type';\nexport default (function (value) {\n return Array.isArray ? Array.isArray(value) : isType(value, 'Array');\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-array.js\n// module id = 0\n// module chunks = 0","var isArrayLike = function (value) {\n /**\n * isArrayLike([1, 2, 3]) => true\n * isArrayLike(document.body.children) => true\n * isArrayLike('abc') => true\n * isArrayLike(Function) => false\n */\n return value !== null && typeof value !== 'function' && isFinite(value.length);\n};\n\nexport default isArrayLike;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-array-like.js\n// module id = 1\n// module chunks = 0","import isArray from './is-array';\nimport isObject from './is-object';\n\nfunction each(elements, func) {\n if (!elements) {\n return;\n }\n\n var rst;\n\n if (isArray(elements)) {\n for (var i = 0, len = elements.length; i < len; i++) {\n rst = func(elements[i], i);\n\n if (rst === false) {\n break;\n }\n }\n } else if (isObject(elements)) {\n for (var k in elements) {\n if (elements.hasOwnProperty(k)) {\n rst = func(elements[k], k);\n\n if (rst === false) {\n break;\n }\n }\n }\n }\n}\n\nexport default each;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/each.js\n// module id = 2\n// module chunks = 0","/**\n * 是否为函数\n * @param {*} fn 对象\n * @return {Boolean} 是否函数\n */\nimport isType from './is-type';\nexport default (function (value) {\n return isType(value, 'Function');\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-function.js\n// module id = 3\n// module chunks = 0","var toString = {}.toString;\n\nvar isType = function (value, type) {\n return toString.call(value) === '[object ' + type + ']';\n};\n\nexport default isType;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-type.js\n// module id = 4\n// module chunks = 0","/**\n * 判断是否数字\n * @return {Boolean} 是否数字\n */\nimport isType from './is-type';\n\nvar isNumber = function (value) {\n return isType(value, 'Number');\n};\n\nexport default isNumber;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-number.js\n// module id = 5\n// module chunks = 0","// isFinite,\nvar isNil = function (value) {\n /**\n * isNil(null) => true\n * isNil() => true\n */\n return value === null || value === undefined;\n};\n\nexport default isNil;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-nil.js\n// module id = 6\n// module chunks = 0","var _require = require('@antv/util'),\n mix = _require.mix;\n\nmodule.exports = {\n assign: mix\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/util.js\n// module id = 7\n// module chunks = 0","import isType from './is-type';\nexport default (function (str) {\n return isType(str, 'String');\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-string.js\n// module id = 8\n// module chunks = 0","import isObjectLike from './is-object-like';\nimport isType from './is-type';\n\nvar isPlainObject = function (value) {\n /**\n * isObjectLike(new Foo) => false\n * isObjectLike([1, 2, 3]) => false\n * isObjectLike({ x: 0, y: 0 }) => true\n * isObjectLike(Object.create(null)) => true\n */\n if (!isObjectLike(value) || !isType(value, 'Object')) {\n return false;\n }\n\n if (Object.getPrototypeOf(value) === null) {\n return true;\n }\n\n var proto = value;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(value) === proto;\n};\n\nexport default isPlainObject;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-plain-object.js\n// module id = 9\n// module chunks = 0","import isNil from './is-nil';\nexport default (function (value) {\n if (isNil(value)) return '';\n return value.toString();\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/to-string.js\n// module id = 10\n// module chunks = 0","var hierarchy = require('./hierarchy');\n\nvar Layout = /*#__PURE__*/function () {\n function Layout(root, options) {\n if (options === void 0) {\n options = {};\n }\n\n var me = this;\n me.options = options;\n me.rootNode = hierarchy(root, options);\n }\n\n var _proto = Layout.prototype;\n\n _proto.execute = function execute() {\n throw new Error('please override this method');\n };\n\n return Layout;\n}();\n\nmodule.exports = Layout;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/layout/base.js\n// module id = 11\n// module chunks = 0","import isArrayLike from './is-array-like';\n\nvar contains = function (arr, value) {\n if (!isArrayLike(arr)) {\n return false;\n }\n\n return arr.indexOf(value) > -1;\n};\n\nexport default contains;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/contains.js\n// module id = 12\n// module chunks = 0","export default (function (value) {\n /**\n * isObject({}) => true\n * isObject([1, 2, 3]) => true\n * isObject(Function) => true\n * isObject(null) => false\n */\n var type = typeof value;\n return value !== null && type === 'object' || type === 'function';\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-object.js\n// module id = 13\n// module chunks = 0","import each from './each';\nimport isArrayLike from './is-array-like';\n\nvar filter = function (arr, func) {\n if (!isArrayLike(arr)) {\n return arr;\n }\n\n var result = [];\n each(arr, function (value, index) {\n if (func(value, index)) {\n result.push(value);\n }\n });\n return result;\n};\n\nexport default filter;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/filter.js\n// module id = 14\n// module chunks = 0","var isObjectLike = function (value) {\n /**\n * isObjectLike({}) => true\n * isObjectLike([1, 2, 3]) => true\n * isObjectLike(Function) => false\n * isObjectLike(null) => false\n */\n return typeof value === 'object' && value !== null;\n};\n\nexport default isObjectLike;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-object-like.js\n// module id = 15\n// module chunks = 0","// FIXME: Mutable param should be forbidden in static lang.\nfunction _mix(dist, obj) {\n for (var key in obj) {\n if (obj.hasOwnProperty(key) && key !== 'constructor' && obj[key] !== undefined) {\n dist[key] = obj[key];\n }\n }\n}\n\nexport default function mix(dist, src1, src2, src3) {\n if (src1) _mix(dist, src1);\n if (src2) _mix(dist, src2);\n if (src3) _mix(dist, src3);\n return dist;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/mix.js\n// module id = 16\n// module chunks = 0","var separateTree = require('./separate-root');\n\nvar VALID_DIRECTIONS = ['LR', // left to right\n'RL', // right to left\n'TB', // top to bottom\n'BT', // bottom to top\n'H', // horizontal\n'V' // vertical\n];\nvar HORIZONTAL_DIRECTIONS = ['LR', 'RL', 'H'];\n\nvar isHorizontal = function isHorizontal(direction) {\n return HORIZONTAL_DIRECTIONS.indexOf(direction) > -1;\n};\n\nvar DEFAULT_DIRECTION = VALID_DIRECTIONS[0];\n\nmodule.exports = function (root, options, layoutAlgrithm) {\n var direction = options.direction || DEFAULT_DIRECTION;\n options.isHorizontal = isHorizontal(direction);\n\n if (direction && VALID_DIRECTIONS.indexOf(direction) === -1) {\n throw new TypeError(\"Invalid direction: \" + direction);\n }\n\n if (direction === VALID_DIRECTIONS[0]) {\n // LR\n layoutAlgrithm(root, options);\n } else if (direction === VALID_DIRECTIONS[1]) {\n // RL\n layoutAlgrithm(root, options);\n root.right2left();\n } else if (direction === VALID_DIRECTIONS[2]) {\n // TB\n layoutAlgrithm(root, options);\n } else if (direction === VALID_DIRECTIONS[3]) {\n // BT\n layoutAlgrithm(root, options);\n root.bottom2top();\n } else if (direction === VALID_DIRECTIONS[4] || direction === VALID_DIRECTIONS[5]) {\n // H or V\n // separate into left and right trees\n var _separateTree = separateTree(root, options),\n left = _separateTree.left,\n right = _separateTree.right; // do layout for left and right trees\n\n\n layoutAlgrithm(left, options);\n layoutAlgrithm(right, options);\n options.isHorizontal ? left.right2left() : left.bottom2top(); // combine left and right trees\n\n right.translate(left.x - right.x, left.y - right.y); // translate root\n\n root.x = left.x;\n root.y = right.y;\n var bb = root.getBoundingBox();\n\n if (options.isHorizontal) {\n if (bb.top < 0) {\n root.translate(0, -bb.top);\n }\n } else {\n if (bb.left < 0) {\n root.translate(-bb.left, 0);\n }\n }\n } // fixed root position, default value is true\n\n\n var fixedRoot = options.fixedRoot;\n if (fixedRoot === undefined) fixedRoot = true;\n\n if (fixedRoot) {\n root.translate(-(root.x + root.width / 2 + root.hgap), -(root.y + root.height / 2 + root.vgap));\n }\n\n return root;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/layout/do-layout.js\n// module id = 17\n// module chunks = 0","/* eslint-disable no-cond-assign */\nvar util = require('../util');\n\nvar PEM = 18;\nvar DEFAULT_HEIGHT = PEM * 2;\nvar DEFAULT_GAP = PEM;\nvar DEFAULT_OPTIONS = {\n getId: function getId(d) {\n return d.id || d.name;\n },\n getHGap: function getHGap(d) {\n return d.hgap || DEFAULT_GAP;\n },\n getVGap: function getVGap(d) {\n return d.vgap || DEFAULT_GAP;\n },\n getChildren: function getChildren(d) {\n return d.children;\n },\n getHeight: function getHeight(d) {\n return d.height || DEFAULT_HEIGHT;\n },\n getWidth: function getWidth(d) {\n var label = d.label || ' ';\n return d.width || label.split('').length * PEM; // FIXME DO NOT get width like this\n }\n};\n\nfunction Node(data, options) {\n var me = this;\n me.vgap = me.hgap = 0;\n if (data instanceof Node) return data;\n me.data = data;\n /*\n * Gaps: filling space between nodes\n * (x, y) ----------------------\n * | vgap |\n * | -------------------- h\n * | h | | e\n * | g | | i\n * | a | | g\n * | p | | h\n * | --------------------- t\n * | |\n * -----------width------------\n */\n\n var hgap = options.getHGap(data);\n var vgap = options.getVGap(data);\n me.width = options.getWidth(data);\n me.height = options.getHeight(data);\n me.id = options.getId(data);\n me.x = me.y = 0;\n me.depth = 0;\n\n if (!me.children) {\n me.children = [];\n }\n\n me.addGap(hgap, vgap);\n return me;\n}\n\nutil.assign(Node.prototype, {\n isRoot: function isRoot() {\n return this.depth === 0;\n },\n isLeaf: function isLeaf() {\n return this.children.length === 0;\n },\n addGap: function addGap(hgap, vgap) {\n var me = this;\n me.hgap += hgap;\n me.vgap += vgap;\n me.width += 2 * hgap;\n me.height += 2 * vgap;\n },\n eachNode: function eachNode(callback) {\n // Depth First traverse\n var me = this;\n var nodes = [me];\n var current;\n\n while (current = nodes.pop()) {\n callback(current);\n nodes = nodes.concat(current.children);\n }\n },\n DFTraverse: function DFTraverse(callback) {\n // Depth First traverse\n this.eachNode(callback);\n },\n BFTraverse: function BFTraverse(callback) {\n // Breadth First traverse\n var me = this;\n var nodes = [me];\n var current;\n\n while (current = nodes.shift()) {\n callback(current);\n nodes = nodes.concat(current.children);\n }\n },\n getBoundingBox: function getBoundingBox() {\n // BBox for just one tree node\n var bb = {\n left: Number.MAX_VALUE,\n top: Number.MAX_VALUE,\n width: 0,\n height: 0\n };\n this.eachNode(function (node) {\n bb.left = Math.min(bb.left, node.x);\n bb.top = Math.min(bb.top, node.y);\n bb.width = Math.max(bb.width, node.x + node.width);\n bb.height = Math.max(bb.height, node.y + node.height);\n });\n return bb;\n },\n // translate\n translate: function translate(tx, ty) {\n if (tx === void 0) {\n tx = 0;\n }\n\n if (ty === void 0) {\n ty = 0;\n }\n\n this.eachNode(function (node) {\n node.x += tx;\n node.y += ty;\n });\n },\n right2left: function right2left() {\n var me = this;\n var bb = me.getBoundingBox();\n me.eachNode(function (node) {\n node.x = node.x - (node.x - bb.left) * 2 - node.width; // node.x = - node.x;\n });\n me.translate(bb.width, 0);\n },\n bottom2top: function bottom2top() {\n var me = this;\n var bb = me.getBoundingBox();\n me.eachNode(function (node) {\n node.y = node.y - (node.y - bb.top) * 2 - node.height; // node.y = - node.y;\n });\n me.translate(0, bb.height);\n }\n});\n\nfunction hierarchy(data, options, isolated) {\n if (options === void 0) {\n options = {};\n }\n\n options = util.assign({}, DEFAULT_OPTIONS, options);\n var root = new Node(data, options);\n var nodes = [root];\n var node;\n\n if (!isolated && !data.collapsed) {\n while (node = nodes.pop()) {\n if (!node.data.collapsed) {\n var children = options.getChildren(node.data);\n var length = children ? children.length : 0;\n node.children = new Array(length);\n\n if (children && length) {\n for (var i = 0; i < length; i++) {\n var child = new Node(children[i], options);\n node.children[i] = child;\n nodes.push(child);\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n }\n }\n\n return root;\n}\n\nmodule.exports = hierarchy;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/layout/hierarchy.js\n// module id = 18\n// module chunks = 0","import isNil from './is-nil';\nimport keys from './keys';\n\nfunction isMatch(obj, attrs) {\n var _keys = keys(attrs);\n\n var length = _keys.length;\n if (isNil(obj)) return !length;\n\n for (var i = 0; i < length; i += 1) {\n var key = _keys[i];\n\n if (attrs[key] !== obj[key] || !(key in obj)) {\n return false;\n }\n }\n\n return true;\n}\n\nexport default isMatch;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-match.js\n// module id = 19\n// module chunks = 0","import each from './each';\nimport isFunction from './is-function';\nvar keys = Object.keys ? function (obj) {\n return Object.keys(obj);\n} : function (obj) {\n var result = [];\n each(obj, function (value, key) {\n if (!(isFunction(obj) && key === 'prototype')) {\n result.push(key);\n }\n });\n return result;\n};\nexport default keys;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/keys.js\n// module id = 20\n// module chunks = 0","import isArrayLike from './is-array-like';\nvar splice = Array.prototype.splice;\n\nvar pullAt = function pullAt(arr, indexes) {\n if (!isArrayLike(arr)) {\n return [];\n }\n\n var length = arr ? indexes.length : 0;\n var last = length - 1;\n\n while (length--) {\n var previous = void 0;\n var index = indexes[length];\n\n if (length === last || index !== previous) {\n previous = index;\n splice.call(arr, index, 1);\n }\n }\n\n return arr;\n};\n\nexport default pullAt;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/pull-at.js\n// module id = 21\n// module chunks = 0","import contains from './contains';\nimport each from './each';\n\nvar uniq = function (arr) {\n var resultArr = [];\n each(arr, function (item) {\n if (!contains(resultArr, item)) {\n resultArr.push(item);\n }\n });\n return resultArr;\n};\n\nexport default uniq;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/uniq.js\n// module id = 22\n// module chunks = 0","import isArray from './is-array';\nimport isFunction from './is-function';\nimport groupBy from './group-by';\n\nvar groupToMap = function (data, condition) {\n if (!condition) {\n return {\n 0: data\n };\n }\n\n if (!isFunction(condition)) {\n var paramsCondition_1 = isArray(condition) ? condition : condition.replace(/\\s+/g, '').split('*');\n\n condition = function (row) {\n var unique = '_'; // 避免出现数字作为Key的情况,会进行按照数字的排序\n\n for (var i = 0, l = paramsCondition_1.length; i < l; i++) {\n unique += row[paramsCondition_1[i]] && row[paramsCondition_1[i]].toString();\n }\n\n return unique;\n };\n }\n\n var groups = groupBy(data, condition);\n return groups;\n};\n\nexport default groupToMap;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/group-to-map.js\n// module id = 23\n// module chunks = 0","import each from './each';\nimport isArray from './is-array';\nimport isFunction from './is-function';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction groupBy(data, condition) {\n if (!condition || !isArray(data)) {\n return {};\n }\n\n var result = {}; // 兼容方法和 字符串的写法\n\n var predicate = isFunction(condition) ? condition : function (item) {\n return item[condition];\n };\n var key;\n each(data, function (item) {\n key = predicate(item);\n\n if (hasOwnProperty.call(result, key)) {\n result[key].push(item);\n } else {\n result[key] = [item];\n }\n });\n return result;\n}\n\nexport default groupBy;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/group-by.js\n// module id = 24\n// module chunks = 0","export default (function (obj, key) {\n return obj.hasOwnProperty(key);\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/has.js\n// module id = 25\n// module chunks = 0","import each from './each';\nimport isFunction from './is-function'; // @ts-ignore\n\nvar values = Object.values ? function (obj) {\n return Object.values(obj);\n} : function (obj) {\n var result = [];\n each(obj, function (value, key) {\n if (!(isFunction(obj) && key === 'prototype')) {\n result.push(value);\n }\n });\n return result;\n};\nexport default values;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/values.js\n// module id = 26\n// module chunks = 0","var toString = {}.toString;\n\nvar getType = function (value) {\n return toString.call(value).replace(/^\\[object /, '').replace(/]$/, '');\n};\n\nexport default getType;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/get-type.js\n// module id = 27\n// module chunks = 0","var objectProto = Object.prototype;\n\nvar isPrototype = function (value) {\n var Ctor = value && value.constructor;\n var proto = typeof Ctor === 'function' && Ctor.prototype || objectProto;\n return value === proto;\n};\n\nexport default isPrototype;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-prototype.js\n// module id = 28\n// module chunks = 0","import isObjectLike from './is-object-like';\nimport isArrayLike from './is-array-like';\nimport isString from './is-string';\n\nvar isEqual = function (value, other) {\n if (value === other) {\n return true;\n }\n\n if (!value || !other) {\n return false;\n }\n\n if (isString(value) || isString(other)) {\n return false;\n }\n\n if (isArrayLike(value) || isArrayLike(other)) {\n if (value.length !== other.length) {\n return false;\n }\n\n var rst = true;\n\n for (var i = 0; i < value.length; i++) {\n rst = isEqual(value[i], other[i]);\n\n if (!rst) {\n break;\n }\n }\n\n return rst;\n }\n\n if (isObjectLike(value) || isObjectLike(other)) {\n var valueKeys = Object.keys(value);\n var otherKeys = Object.keys(other);\n\n if (valueKeys.length !== otherKeys.length) {\n return false;\n }\n\n var rst = true;\n\n for (var i = 0; i < valueKeys.length; i++) {\n rst = isEqual(value[valueKeys[i]], other[valueKeys[i]]);\n\n if (!rst) {\n break;\n }\n }\n\n return rst;\n }\n\n return false;\n};\n\nexport default isEqual;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-equal.js\n// module id = 29\n// module chunks = 0","var hierarchy = require('./hierarchy');\n\nmodule.exports = function (root, options) {\n // separate into left and right trees\n var left = hierarchy(root.data, options, true); // root only\n\n var right = hierarchy(root.data, options, true); // root only\n // automatically\n\n var treeSize = root.children.length;\n var rightTreeSize = Math.round(treeSize / 2); // separate left and right tree by meta data\n\n var getSide = options.getSide || function (child, index) {\n if (index < rightTreeSize) {\n return 'right';\n }\n\n return 'left';\n };\n\n for (var i = 0; i < treeSize; i++) {\n var child = root.children[i];\n var side = getSide(child, i);\n\n if (side === 'right') {\n right.children.push(child);\n } else {\n left.children.push(child);\n }\n }\n\n left.eachNode(function (node) {\n if (!node.isRoot()) {\n node.side = 'left';\n }\n });\n right.eachNode(function (node) {\n if (!node.isRoot()) {\n node.side = 'right';\n }\n });\n return {\n left: left,\n right: right\n };\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/layout/separate-root.js\n// module id = 30\n// module chunks = 0","var hierarchy = {\n compactBox: require('./compact-box'),\n dendrogram: require('./dendrogram'),\n indented: require('./indented'),\n mindmap: require('./mindmap')\n};\nmodule.exports = hierarchy;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/index.js\n// module id = 31\n// module chunks = 0","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar TreeLayout = require('./layout/base');\n\nvar nonLayeredTidyTree = require('./layout/non-layered-tidy');\n\nvar doTreeLayout = require('./layout/do-layout');\n\nvar util = require('./util');\n\nvar CompactBoxTreeLayout = /*#__PURE__*/function (_TreeLayout) {\n _inheritsLoose(CompactBoxTreeLayout, _TreeLayout);\n\n function CompactBoxTreeLayout() {\n return _TreeLayout.apply(this, arguments) || this;\n }\n\n var _proto = CompactBoxTreeLayout.prototype;\n\n _proto.execute = function execute() {\n var me = this;\n return doTreeLayout(me.rootNode, me.options, nonLayeredTidyTree);\n };\n\n return CompactBoxTreeLayout;\n}(TreeLayout);\n\nvar DEFAULT_OPTIONS = {};\n\nfunction compactBoxLayout(root, options) {\n options = util.assign({}, DEFAULT_OPTIONS, options);\n return new CompactBoxTreeLayout(root, options).execute();\n}\n\nmodule.exports = compactBoxLayout;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/compact-box.js\n// module id = 32\n// module chunks = 0","// array\nexport { default as contains, default as includes } from './contains';\nexport { default as difference } from './difference';\nexport { default as find } from './find';\nexport { default as findIndex } from './find-index';\nexport { default as firstValue } from './first-value';\nexport { default as flatten } from './flatten';\nexport { default as flattenDeep } from './flatten-deep';\nexport { default as getRange } from './get-range';\nexport { default as pull } from './pull';\nexport { default as pullAt } from './pull-at';\nexport { default as reduce } from './reduce';\nexport { default as remove } from './remove';\nexport { default as sortBy } from './sort-by';\nexport { default as union } from './union';\nexport { default as uniq } from './uniq';\nexport { default as valuesOfKey } from './values-of-key';\nexport { default as head } from './head';\nexport { default as last } from './last';\nexport { default as startsWith } from './starts-with';\nexport { default as endsWith } from './ends-with';\nexport { default as filter } from './filter';\nexport { default as every } from './every';\nexport { default as some } from './some';\nexport { default as group } from './group';\nexport { default as groupBy } from './group-by';\nexport { default as groupToMap } from './group-to-map'; // event\n\nexport { default as getWrapBehavior } from './get-wrap-behavior';\nexport { default as wrapBehavior } from './wrap-behavior'; // format\n\nexport { default as number2color } from './number2color';\nexport { default as parseRadius } from './parse-radius'; // math\n\nexport { default as clamp } from './clamp';\nexport { default as fixedBase } from './fixed-base';\nexport { default as isDecimal } from './is-decimal';\nexport { default as isEven } from './is-even';\nexport { default as isInteger } from './is-integer';\nexport { default as isNegative } from './is-negative';\nexport { default as isNumberEqual } from './is-number-equal';\nexport { default as isOdd } from './is-odd';\nexport { default as isPositive } from './is-positive';\nexport { default as maxBy } from './max-by';\nexport { default as minBy } from './min-by';\nexport { default as mod } from './mod';\nexport { default as toDegree } from './to-degree';\nexport { default as toInteger } from './to-integer';\nexport { default as toRadian } from './to-radian'; // object\n\nexport { default as forIn } from './for-in';\nexport { default as has } from './has';\nexport { default as hasKey } from './has-key';\nexport { default as hasValue } from './has-value';\nexport { default as keys } from './keys';\nexport { default as isMatch } from './is-match';\nexport { default as values } from './values'; // string\n\nexport { default as lowerCase } from './lower-case';\nexport { default as lowerFirst } from './lower-first';\nexport { default as substitute } from './substitute';\nexport { default as upperCase } from './upper-case';\nexport { default as upperFirst } from './upper-first'; // type\n\nexport { default as getType } from './get-type';\nexport { default as isArguments } from './is-arguments';\nexport { default as isArray } from './is-array';\nexport { default as isArrayLike } from './is-array-like';\nexport { default as isBoolean } from './is-boolean';\nexport { default as isDate } from './is-date';\nexport { default as isError } from './is-error';\nexport { default as isFunction } from './is-function';\nexport { default as isFinite } from './is-finite';\nexport { default as isNil } from './is-nil';\nexport { default as isNull } from './is-null';\nexport { default as isNumber } from './is-number';\nexport { default as isObject } from './is-object';\nexport { default as isObjectLike } from './is-object-like';\nexport { default as isPlainObject } from './is-plain-object';\nexport { default as isPrototype } from './is-prototype';\nexport { default as isRegExp } from './is-reg-exp';\nexport { default as isString } from './is-string';\nexport { default as isType } from './is-type';\nexport { default as isUndefined } from './is-undefined';\nexport { default as isElement } from './is-element';\nexport { default as requestAnimationFrame } from './request-animation-frame';\nexport { default as clearAnimationFrame } from './clear-animation-frame'; // other\n\nexport { default as augment } from './augment';\nexport { default as clone } from './clone';\nexport { default as debounce } from './debounce';\nexport { default as memoize } from './memoize';\nexport { default as deepMix } from './deep-mix';\nexport { default as each } from './each';\nexport { default as extend } from './extend';\nexport { default as indexOf } from './index-of';\nexport { default as isEmpty } from './is-empty';\nexport { default as isEqual } from './is-equal';\nexport { default as isEqualWith } from './is-equal-with';\nexport { default as map } from './map';\nexport { default as mapValues } from './map-values';\nexport { default as mix, default as assign } from './mix';\nexport { default as get } from './get';\nexport { default as set } from './set';\nexport { default as pick } from './pick';\nexport { default as throttle } from './throttle';\nexport { default as toArray } from './to-array';\nexport { default as toString } from './to-string';\nexport { default as uniqueId } from './unique-id';\nexport { default as noop } from './noop';\nexport { default as identity } from './identity';\nexport { default as size } from './size'; // 不知道为什么,需要把这个 export,不然 ts 会报类型错误\n\nexport { default as Cache } from './cache';\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/index.js\n// module id = 33\n// module chunks = 0","import filter from './filter';\nimport contains from './contains';\n/**\n * Flattens `array` a single level deep.\n *\n * @param {Array} arr The array to inspect.\n * @param {Array} values The values to exclude.\n * @return {Array} Returns the new array of filtered values.\n * @example\n * difference([2, 1], [2, 3]); // => [1]\n */\n\nvar difference = function (arr, values) {\n if (values === void 0) {\n values = [];\n }\n\n return filter(arr, function (value) {\n return !contains(values, value);\n });\n};\n\nexport default difference;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/difference.js\n// module id = 34\n// module chunks = 0","import isFunction from './is-function';\nimport isMatch from './is-match';\nimport isArray from './is-array';\nimport isPlainObject from './is-plain-object';\n\nfunction find(arr, predicate) {\n if (!isArray(arr)) return null;\n\n var _predicate;\n\n if (isFunction(predicate)) {\n _predicate = predicate;\n }\n\n if (isPlainObject(predicate)) {\n _predicate = function (a) {\n return isMatch(a, predicate);\n };\n }\n\n if (_predicate) {\n for (var i = 0; i < arr.length; i += 1) {\n if (_predicate(arr[i])) {\n return arr[i];\n }\n }\n }\n\n return null;\n}\n\nexport default find;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/find.js\n// module id = 35\n// module chunks = 0","function findIndex(arr, predicate, fromIndex) {\n if (fromIndex === void 0) {\n fromIndex = 0;\n }\n\n for (var i = fromIndex; i < arr.length; i++) {\n if (predicate(arr[i], i)) {\n // 找到终止循环\n return i;\n }\n }\n\n return -1;\n}\n\nexport default findIndex;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/find-index.js\n// module id = 36\n// module chunks = 0","import isNil from './is-nil';\nimport isArray from './is-array';\n\nvar firstValue = function (data, name) {\n var rst = null;\n\n for (var i = 0; i < data.length; i++) {\n var obj = data[i];\n var value = obj[name];\n\n if (!isNil(value)) {\n if (isArray(value)) {\n rst = value[0]; // todo 这里是否应该使用递归,调用 firstValue @绝云\n } else {\n rst = value;\n }\n\n break;\n }\n }\n\n return rst;\n};\n\nexport default firstValue;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/first-value.js\n// module id = 37\n// module chunks = 0","import isArray from './is-array';\n/**\n * Flattens `array` a single level deep.\n *\n * @param {Array} arr The array to flatten.\n * @return {Array} Returns the new flattened array.\n * @example\n *\n * flatten([1, [2, [3, [4]], 5]]); // => [1, 2, [3, [4]], 5]\n */\n\nvar flatten = function (arr) {\n if (!isArray(arr)) {\n return [];\n }\n\n var rst = [];\n\n for (var i = 0; i < arr.length; i++) {\n rst = rst.concat(arr[i]);\n }\n\n return rst;\n};\n\nexport default flatten;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/flatten.js\n// module id = 38\n// module chunks = 0","import isArray from './is-array';\n/**\n * Flattens `array` a single level deep.\n *\n * @param {Array} arr The array to flatten.\n * @param {Array} result The array to return.\n * @return {Array} Returns the new flattened array.\n * @example\n *\n * flattenDeep([1, [2, [3, [4]], 5]]); // => [1, 2, 3, 4, 5]\n */\n\nvar flattenDeep = function (arr, result) {\n if (result === void 0) {\n result = [];\n }\n\n if (!isArray(arr)) {\n result.push(arr);\n } else {\n for (var i = 0; i < arr.length; i += 1) {\n flattenDeep(arr[i], result);\n }\n }\n\n return result;\n};\n\nexport default flattenDeep;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/flatten-deep.js\n// module id = 39\n// module chunks = 0","import isArray from './is-array';\nimport filter from './filter';\n\nvar getRange = function (values) {\n // 存在 NaN 时,min,max 判定会出问题\n values = filter(values, function (v) {\n return !isNaN(v);\n });\n\n if (!values.length) {\n // 如果没有数值则直接返回0\n return {\n min: 0,\n max: 0\n };\n }\n\n if (isArray(values[0])) {\n var tmp = [];\n\n for (var i = 0; i < values.length; i++) {\n tmp = tmp.concat(values[i]);\n }\n\n values = tmp;\n }\n\n var max = Math.max.apply(null, values);\n var min = Math.min.apply(null, values);\n return {\n min: min,\n max: max\n };\n};\n\nexport default getRange;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/get-range.js\n// module id = 40\n// module chunks = 0","var arrPrototype = Array.prototype;\nvar splice = arrPrototype.splice;\nvar indexOf = arrPrototype.indexOf;\n\nvar pull = function (arr) {\n var values = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n values[_i - 1] = arguments[_i];\n }\n\n for (var i = 0; i < values.length; i++) {\n var value = values[i];\n var fromIndex = -1;\n\n while ((fromIndex = indexOf.call(arr, value)) > -1) {\n splice.call(arr, fromIndex, 1);\n }\n }\n\n return arr;\n};\n\nexport default pull;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/pull.js\n// module id = 41\n// module chunks = 0","import each from './each';\nimport isArray from './is-array';\nimport isPlainObject from './is-plain-object';\n\nvar reduce = function (arr, fn, init) {\n if (!isArray(arr) && !isPlainObject(arr)) {\n return arr;\n }\n\n var result = init;\n each(arr, function (data, i) {\n result = fn(result, data, i);\n });\n return result;\n};\n\nexport default reduce;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/reduce.js\n// module id = 42\n// module chunks = 0","import isArrayLike from './is-array-like';\nimport pullAt from './pull-at';\n\nvar remove = function (arr, predicate) {\n /**\n * const arr = [1, 2, 3, 4]\n * const evens = remove(arr, n => n % 2 == 0)\n * console.log(arr) // => [1, 3]\n * console.log(evens) // => [2, 4]\n */\n var result = [];\n\n if (!isArrayLike(arr)) {\n return result;\n }\n\n var i = -1;\n var indexes = [];\n var length = arr.length;\n\n while (++i < length) {\n var value = arr[i];\n\n if (predicate(value, i, arr)) {\n result.push(value);\n indexes.push(i);\n }\n }\n\n pullAt(arr, indexes);\n return result;\n};\n\nexport default remove;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/remove.js\n// module id = 43\n// module chunks = 0","import isArray from './is-array';\nimport isString from './is-string';\nimport isFunction from './is-function';\n\nfunction sortBy(arr, key) {\n var comparer;\n\n if (isFunction(key)) {\n comparer = function (a, b) {\n return key(a) - key(b);\n };\n } else {\n var keys_1 = [];\n\n if (isString(key)) {\n keys_1.push(key);\n } else if (isArray(key)) {\n keys_1 = key;\n }\n\n comparer = function (a, b) {\n for (var i = 0; i < keys_1.length; i += 1) {\n var prop = keys_1[i];\n\n if (a[prop] > b[prop]) {\n return 1;\n }\n\n if (a[prop] < b[prop]) {\n return -1;\n }\n }\n\n return 0;\n };\n }\n\n arr.sort(comparer);\n return arr;\n}\n\nexport default sortBy;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/sort-by.js\n// module id = 44\n// module chunks = 0","import uniq from './uniq';\n\nvar union = function () {\n var sources = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n sources[_i] = arguments[_i];\n }\n\n return uniq([].concat.apply([], sources));\n};\n\nexport default union;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/union.js\n// module id = 45\n// module chunks = 0","import each from './each';\nimport isArray from './is-array';\nimport isNil from './is-nil';\nexport default (function (data, name) {\n var rst = [];\n var tmpMap = {};\n data.forEach(function (obj) {\n var value = obj[name];\n\n if (!isNil(value)) {\n // flatten\n if (!isArray(value)) {\n value = [value];\n }\n\n each(value, function (val) {\n // unique\n if (!tmpMap[val]) {\n rst.push(val);\n tmpMap[val] = true;\n }\n });\n }\n });\n return rst;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/values-of-key.js\n// module id = 46\n// module chunks = 0","import isArrayLike from './is-array-like';\nexport default function head(o) {\n if (isArrayLike(o)) {\n return o[0];\n }\n\n return undefined;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/head.js\n// module id = 47\n// module chunks = 0","import isArrayLike from './is-array-like';\nexport default function last(o) {\n if (isArrayLike(o)) {\n var arr = o;\n return arr[arr.length - 1];\n }\n\n return undefined;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/last.js\n// module id = 48\n// module chunks = 0","import isArray from './is-array';\nimport isString from './is-string';\n\nfunction startsWith(arr, e) {\n return isArray(arr) || isString(arr) ? arr[0] === e : false;\n}\n\nexport default startsWith;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/starts-with.js\n// module id = 49\n// module chunks = 0","import isArray from './is-array';\nimport isString from './is-string';\n\nfunction endsWith(arr, e) {\n return isArray(arr) || isString(arr) ? arr[arr.length - 1] === e : false;\n}\n\nexport default endsWith;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/ends-with.js\n// module id = 50\n// module chunks = 0","/**\n * 只要有一个不满足条件就返回 false\n * @param arr\n * @param func\n */\nvar every = function (arr, func) {\n for (var i = 0; i < arr.length; i++) {\n if (!func(arr[i], i)) return false;\n }\n\n return true;\n};\n\nexport default every;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/every.js\n// module id = 51\n// module chunks = 0","/**\n * 只要有一个满足条件就返回 true\n * @param arr\n * @param func\n */\nvar some = function (arr, func) {\n for (var i = 0; i < arr.length; i++) {\n if (func(arr[i], i)) return true;\n }\n\n return false;\n};\n\nexport default some;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/some.js\n// module id = 52\n// module chunks = 0","import groupToMap from './group-to-map';\nexport default (function (data, condition) {\n if (!condition) {\n // 没有条件,则自身改成数组\n return [data];\n }\n\n var groups = groupToMap(data, condition);\n var array = [];\n\n for (var i in groups) {\n array.push(groups[i]);\n }\n\n return array;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/group.js\n// module id = 53\n// module chunks = 0","/**\n * 获取封装的事件\n * @protected\n * @param {Object} obj 对象\n * @param {String} action 事件名称\n * @return {Function} 返回事件处理函数\n */\nfunction getWrapBehavior(obj, action) {\n return obj['_wrap_' + action];\n}\n\nexport default getWrapBehavior;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/get-wrap-behavior.js\n// module id = 54\n// module chunks = 0","/**\n * 封装事件,便于使用上下文this,和便于解除事件时使用\n * @protected\n * @param {Object} obj 对象\n * @param {String} action 事件名称\n * @return {Function} 返回事件处理函数\n */\nfunction wrapBehavior(obj, action) {\n if (obj['_wrap_' + action]) {\n return obj['_wrap_' + action];\n }\n\n var method = function (e) {\n obj[action](e);\n };\n\n obj['_wrap_' + action] = method;\n return method;\n}\n\nexport default wrapBehavior;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/wrap-behavior.js\n// module id = 55\n// module chunks = 0","var numColorCache = {};\n\nfunction numberToColor(num) {\n // 增加缓存\n var color = numColorCache[num];\n\n if (!color) {\n var str = num.toString(16);\n\n for (var i = str.length; i < 6; i++) {\n str = '0' + str;\n }\n\n color = '#' + str;\n numColorCache[num] = color;\n }\n\n return color;\n}\n\nexport default numberToColor;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/number2color.js\n// module id = 56\n// module chunks = 0","import isArray from './is-array';\n\nfunction parseRadius(radius) {\n var r1 = 0,\n r2 = 0,\n r3 = 0,\n r4 = 0;\n\n if (isArray(radius)) {\n if (radius.length === 1) {\n r1 = r2 = r3 = r4 = radius[0];\n } else if (radius.length === 2) {\n r1 = r3 = radius[0];\n r2 = r4 = radius[1];\n } else if (radius.length === 3) {\n r1 = radius[0];\n r2 = r4 = radius[1];\n r3 = radius[2];\n } else {\n r1 = radius[0];\n r2 = radius[1];\n r3 = radius[2];\n r4 = radius[3];\n }\n } else {\n r1 = r2 = r3 = r4 = radius;\n }\n\n return {\n r1: r1,\n r2: r2,\n r3: r3,\n r4: r4\n };\n}\n\nexport default parseRadius;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/parse-radius.js\n// module id = 57\n// module chunks = 0","var clamp = function (a, min, max) {\n if (a < min) {\n return min;\n } else if (a > max) {\n return max;\n }\n\n return a;\n};\n\nexport default clamp;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/clamp.js\n// module id = 58\n// module chunks = 0","var fixedBase = function (v, base) {\n var str = base.toString();\n var index = str.indexOf('.');\n\n if (index === -1) {\n return Math.round(v);\n }\n\n var length = str.substr(index + 1).length;\n\n if (length > 20) {\n length = 20;\n }\n\n return parseFloat(v.toFixed(length));\n};\n\nexport default fixedBase;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/fixed-base.js\n// module id = 59\n// module chunks = 0","import isNumber from './is-number';\n\nvar isDecimal = function (num) {\n return isNumber(num) && num % 1 !== 0;\n};\n\nexport default isDecimal;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-decimal.js\n// module id = 60\n// module chunks = 0","import isNumber from './is-number';\n\nvar isEven = function (num) {\n return isNumber(num) && num % 2 === 0;\n};\n\nexport default isEven;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-even.js\n// module id = 61\n// module chunks = 0","import isNumber from './is-number';\nvar isInteger = Number.isInteger ? Number.isInteger : function (num) {\n return isNumber(num) && num % 1 === 0;\n};\nexport default isInteger;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-integer.js\n// module id = 62\n// module chunks = 0","import isNumber from './is-number';\n\nvar isNegative = function (num) {\n return isNumber(num) && num < 0;\n};\n\nexport default isNegative;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-negative.js\n// module id = 63\n// module chunks = 0","var PRECISION = 0.00001; // numbers less than this is considered as 0\n\nexport default function isNumberEqual(a, b, precision) {\n if (precision === void 0) {\n precision = PRECISION;\n }\n\n return Math.abs(a - b) < precision;\n}\n;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-number-equal.js\n// module id = 64\n// module chunks = 0","import isNumber from './is-number';\n\nvar isOdd = function (num) {\n return isNumber(num) && num % 2 !== 0;\n};\n\nexport default isOdd;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-odd.js\n// module id = 65\n// module chunks = 0","import isNumber from './is-number';\n\nvar isPositive = function (num) {\n return isNumber(num) && num > 0;\n};\n\nexport default isPositive;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-positive.js\n// module id = 66\n// module chunks = 0","import each from './each';\nimport isArray from './is-array';\nimport isFunction from './is-function';\n/**\n * @param {Array} arr The array to iterate over.\n * @param {Function} [fn] The iteratee invoked per element.\n * @return {*} Returns the maximum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * maxBy(objects, function(o) { return o.n; });\n * // => { 'n': 2 }\n *\n * maxBy(objects, 'n');\n * // => { 'n': 2 }\n */\n\nexport default (function (arr, fn) {\n if (!isArray(arr)) {\n return undefined;\n }\n\n var max = arr[0];\n var maxData;\n\n if (isFunction(fn)) {\n maxData = fn(arr[0]);\n } else {\n maxData = arr[0][fn];\n }\n\n var data;\n each(arr, function (val) {\n if (isFunction(fn)) {\n data = fn(val);\n } else {\n data = val[fn];\n }\n\n if (data > maxData) {\n max = val;\n maxData = data;\n }\n });\n return max;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/max-by.js\n// module id = 67\n// module chunks = 0","import each from './each';\nimport isArray from './is-array';\nimport isFunction from './is-function';\n/**\n * @param {Array} arr The array to iterate over.\n * @param {Function} [fn] The iteratee invoked per element.\n * @return {*} Returns the minimum value.\n * @example\n *\n * var objects = [{ 'n': 1 }, { 'n': 2 }];\n *\n * minBy(objects, function(o) { return o.n; });\n * // => { 'n': 1 }\n *\n * minBy(objects, 'n');\n * // => { 'n': 1 }\n */\n\nexport default (function (arr, fn) {\n if (!isArray(arr)) {\n return undefined;\n }\n\n var min = arr[0];\n var minData;\n\n if (isFunction(fn)) {\n minData = fn(arr[0]);\n } else {\n minData = arr[0][fn];\n }\n\n var data;\n each(arr, function (val) {\n if (isFunction(fn)) {\n data = fn(val);\n } else {\n data = val[fn];\n }\n\n if (data < minData) {\n min = val;\n minData = data;\n }\n });\n return min;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/min-by.js\n// module id = 68\n// module chunks = 0","var mod = function (n, m) {\n return (n % m + m) % m;\n};\n\nexport default mod;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/mod.js\n// module id = 69\n// module chunks = 0","var DEGREE = 180 / Math.PI;\n\nvar toDegree = function (radian) {\n return DEGREE * radian;\n};\n\nexport default toDegree;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/to-degree.js\n// module id = 70\n// module chunks = 0","export default parseInt;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/to-integer.js\n// module id = 71\n// module chunks = 0","var RADIAN = Math.PI / 180;\n\nvar toRadian = function (degree) {\n return RADIAN * degree;\n};\n\nexport default toRadian;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/to-radian.js\n// module id = 72\n// module chunks = 0","import each from './each';\nexport default each;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/for-in.js\n// module id = 73\n// module chunks = 0","import has from './has';\nexport default has;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/has-key.js\n// module id = 74\n// module chunks = 0","import contains from './contains';\nimport values from './values';\nexport default (function (obj, value) {\n return contains(values(obj), value);\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/has-value.js\n// module id = 75\n// module chunks = 0","import toString from './to-string';\n\nvar lowerCase = function (str) {\n return toString(str).toLowerCase();\n};\n\nexport default lowerCase;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/lower-case.js\n// module id = 76\n// module chunks = 0","import toString from './to-string';\n\nvar lowerFirst = function (value) {\n var str = toString(value);\n return str.charAt(0).toLowerCase() + str.substring(1);\n};\n\nexport default lowerFirst;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/lower-first.js\n// module id = 77\n// module chunks = 0","function substitute(str, o) {\n if (!str || !o) {\n return str;\n }\n\n return str.replace(/\\\\?\\{([^{}]+)\\}/g, function (match, name) {\n if (match.charAt(0) === '\\\\') {\n return match.slice(1);\n }\n\n return o[name] === undefined ? '' : o[name];\n });\n}\n\nexport default substitute;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/substitute.js\n// module id = 78\n// module chunks = 0","import toString from './to-string';\n\nvar upperCase = function (str) {\n return toString(str).toUpperCase();\n};\n\nexport default upperCase;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/upper-case.js\n// module id = 79\n// module chunks = 0","import toString from './to-string';\n\nvar upperFirst = function (value) {\n var str = toString(value);\n return str.charAt(0).toUpperCase() + str.substring(1);\n};\n\nexport default upperFirst;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/upper-first.js\n// module id = 80\n// module chunks = 0","/**\n * 是否是参数类型\n *\n * @param {Object} value 测试的值\n * @return {Boolean}\n */\nimport isType from './is-type';\n\nvar isArguments = function (value) {\n return isType(value, 'Arguments');\n};\n\nexport default isArguments;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-arguments.js\n// module id = 81\n// module chunks = 0","/**\n * 是否是布尔类型\n *\n * @param {Object} value 测试的值\n * @return {Boolean}\n */\nimport isType from './is-type';\n\nvar isBoolean = function (value) {\n return isType(value, 'Boolean');\n};\n\nexport default isBoolean;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-boolean.js\n// module id = 82\n// module chunks = 0","import isType from './is-type';\n\nvar isDate = function (value) {\n return isType(value, 'Date');\n};\n\nexport default isDate;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-date.js\n// module id = 83\n// module chunks = 0","/**\n * 是否是参数类型\n *\n * @param {Object} value 测试的值\n * @return {Boolean}\n */\nimport isType from './is-type';\n\nvar isError = function (value) {\n return isType(value, 'Error');\n};\n\nexport default isError;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-error.js\n// module id = 84\n// module chunks = 0","/**\n * 判断是否为有限数\n * @return {Boolean}\n */\nimport isNumber from './is-number';\nexport default function (value) {\n return isNumber(value) && isFinite(value);\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-finite.js\n// module id = 85\n// module chunks = 0","var isNull = function (value) {\n return value === null;\n};\n\nexport default isNull;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-null.js\n// module id = 86\n// module chunks = 0","import isType from './is-type';\n\nvar isRegExp = function (str) {\n return isType(str, 'RegExp');\n};\n\nexport default isRegExp;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-reg-exp.js\n// module id = 87\n// module chunks = 0","var isUndefined = function (value) {\n return value === undefined;\n};\n\nexport default isUndefined;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-undefined.js\n// module id = 88\n// module chunks = 0","/**\n * 判断是否HTML元素\n * @return {Boolean} 是否HTML元素\n */\nvar isElement = function (o) {\n return o instanceof Element || o instanceof HTMLDocument;\n};\n\nexport default isElement;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-element.js\n// module id = 89\n// module chunks = 0","export default function requestAnimationFrame(fn) {\n var method = window.requestAnimationFrame || window.webkitRequestAnimationFrame || // @ts-ignore\n window.mozRequestAnimationFrame || // @ts-ignore\n window.msRequestAnimationFrame || function (f) {\n return setTimeout(f, 16);\n };\n\n return method(fn);\n}\n;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/request-animation-frame.js\n// module id = 90\n// module chunks = 0","export default function cancelAnimationFrame(handler) {\n var method = window.cancelAnimationFrame || window.webkitCancelAnimationFrame || // @ts-ignore\n window.mozCancelAnimationFrame || // @ts-ignore\n window.msCancelAnimationFrame || clearTimeout;\n method(handler);\n}\n;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/clear-animation-frame.js\n// module id = 91\n// module chunks = 0","import mix from './mix';\nimport isFunction from './is-function';\n\nvar augment = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n\n var c = args[0];\n\n for (var i = 1; i < args.length; i++) {\n var obj = args[i];\n\n if (isFunction(obj)) {\n obj = obj.prototype;\n }\n\n mix(c.prototype, obj);\n }\n};\n\nexport default augment;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/augment.js\n// module id = 92\n// module chunks = 0","import isArray from './is-array';\n\nvar clone = function (obj) {\n if (typeof obj !== 'object' || obj === null) {\n return obj;\n }\n\n var rst;\n\n if (isArray(obj)) {\n rst = [];\n\n for (var i = 0, l = obj.length; i < l; i++) {\n if (typeof obj[i] === 'object' && obj[i] != null) {\n rst[i] = clone(obj[i]);\n } else {\n rst[i] = obj[i];\n }\n }\n } else {\n rst = {};\n\n for (var k in obj) {\n if (typeof obj[k] === 'object' && obj[k] != null) {\n rst[k] = clone(obj[k]);\n } else {\n rst[k] = obj[k];\n }\n }\n }\n\n return rst;\n};\n\nexport default clone;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/clone.js\n// module id = 93\n// module chunks = 0","function debounce(func, wait, immediate) {\n var timeout;\n return function () {\n var context = this,\n args = arguments;\n\n var later = function () {\n timeout = null;\n\n if (!immediate) {\n func.apply(context, args);\n }\n };\n\n var callNow = immediate && !timeout;\n clearTimeout(timeout);\n timeout = setTimeout(later, wait);\n\n if (callNow) {\n func.apply(context, args);\n }\n };\n}\n\nexport default debounce;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/debounce.js\n// module id = 94\n// module chunks = 0","import isFunction from './is-function';\n/**\n * _.memoize(calColor);\n * _.memoize(calColor, (...args) => args[0]);\n * @param f\n * @param resolver\n */\n\nexport default (function (f, resolver) {\n if (!isFunction(f)) {\n throw new TypeError('Expected a function');\n }\n\n var memoized = function () {\n var args = [];\n\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n } // 使用方法构造 key,如果不存在 resolver,则直接取第一个参数作为 key\n\n\n var key = resolver ? resolver.apply(this, args) : args[0];\n var cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n\n var result = f.apply(this, args); // 缓存起来\n\n cache.set(key, result);\n return result;\n };\n\n memoized.cache = new Map();\n return memoized;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/memoize.js\n// module id = 95\n// module chunks = 0","import isArray from './is-array';\nimport isPlainObject from './is-plain-object';\nvar MAX_MIX_LEVEL = 5;\n\nfunction _deepMix(dist, src, level, maxLevel) {\n level = level || 0;\n maxLevel = maxLevel || MAX_MIX_LEVEL;\n\n for (var key in src) {\n if (src.hasOwnProperty(key)) {\n var value = src[key];\n\n if (value !== null && isPlainObject(value)) {\n if (!isPlainObject(dist[key])) {\n dist[key] = {};\n }\n\n if (level < maxLevel) {\n _deepMix(dist[key], value, level + 1, maxLevel);\n } else {\n dist[key] = src[key];\n }\n } else if (isArray(value)) {\n dist[key] = [];\n dist[key] = dist[key].concat(value);\n } else if (value !== undefined) {\n dist[key] = value;\n }\n }\n }\n} // todo 重写\n\n\nvar deepMix = function (rst) {\n var args = [];\n\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n\n for (var i = 0; i < args.length; i += 1) {\n _deepMix(rst, args[i]);\n }\n\n return rst;\n};\n\nexport default deepMix;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/deep-mix.js\n// module id = 96\n// module chunks = 0","import mix from './mix';\nimport isFunction from './is-function';\n\nvar extend = function (subclass, superclass, overrides, staticOverrides) {\n // 如果只提供父类构造函数,则自动生成子类构造函数\n if (!isFunction(superclass)) {\n overrides = superclass;\n superclass = subclass;\n\n subclass = function () {};\n }\n\n var create = Object.create ? function (proto, c) {\n return Object.create(proto, {\n constructor: {\n value: c\n }\n });\n } : function (proto, c) {\n function Tmp() {}\n\n Tmp.prototype = proto;\n var o = new Tmp();\n o.constructor = c;\n return o;\n };\n var superObj = create(superclass.prototype, subclass); // new superclass(),//实例化父类作为子类的prototype\n\n subclass.prototype = mix(superObj, subclass.prototype); // 指定子类的prototype\n\n subclass.superclass = create(superclass.prototype, superclass);\n mix(superObj, overrides);\n mix(subclass, staticOverrides);\n return subclass;\n};\n\nexport default extend;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/extend.js\n// module id = 97\n// module chunks = 0","import isArrayLike from './is-array-like';\n\nvar indexOf = function (arr, obj) {\n if (!isArrayLike(arr)) {\n return -1;\n }\n\n var m = Array.prototype.indexOf;\n\n if (m) {\n return m.call(arr, obj);\n }\n\n var index = -1;\n\n for (var i = 0; i < arr.length; i++) {\n if (arr[i] === obj) {\n index = i;\n break;\n }\n }\n\n return index;\n};\n\nexport default indexOf;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/index-of.js\n// module id = 98\n// module chunks = 0","import isNil from './is-nil';\nimport isArrayLike from './is-array-like';\nimport getType from './get-type';\nimport isPrototype from './is-prototype';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\nfunction isEmpty(value) {\n /**\n * isEmpty(null) => true\n * isEmpty() => true\n * isEmpty(true) => true\n * isEmpty(1) => true\n * isEmpty([1, 2, 3]) => false\n * isEmpty('abc') => false\n * isEmpty({ a: 1 }) => false\n */\n if (isNil(value)) {\n return true;\n }\n\n if (isArrayLike(value)) {\n return !value.length;\n }\n\n var type = getType(value);\n\n if (type === 'Map' || type === 'Set') {\n return !value.size;\n }\n\n if (isPrototype(value)) {\n return !Object.keys(value).length;\n }\n\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n\n return true;\n}\n\nexport default isEmpty;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-empty.js\n// module id = 99\n// module chunks = 0","import isFunction from './is-function';\nimport isEqual from './is-equal';\n/**\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [fn] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * isEqualWith(array, other, customizer); // => true\n */\n\nexport default (function (value, other, fn) {\n if (!isFunction(fn)) {\n return isEqual(value, other);\n }\n\n return !!fn(value, other);\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/is-equal-with.js\n// module id = 100\n// module chunks = 0","import each from './each';\nimport isArrayLike from './is-array-like';\n\nvar map = function (arr, func) {\n if (!isArrayLike(arr)) {\n // @ts-ignore\n return arr;\n }\n\n var result = [];\n each(arr, function (value, index) {\n result.push(func(value, index));\n });\n return result;\n};\n\nexport default map;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/map.js\n// module id = 101\n// module chunks = 0","import isNil from './is-nil';\nimport isObject from './is-object';\n\nvar identity = function (v) {\n return v;\n};\n\nexport default (function (object, func) {\n if (func === void 0) {\n func = identity;\n }\n\n var r = {};\n\n if (isObject(object) && !isNil(object)) {\n Object.keys(object).forEach(function (key) {\n // @ts-ignore\n r[key] = func(object[key], key);\n });\n }\n\n return r;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/map-values.js\n// module id = 102\n// module chunks = 0","import isString from './is-string';\n/**\n * https://github.com/developit/dlv/blob/master/index.js\n * @param obj\n * @param key\n * @param defaultValue\n */\n\nexport default (function (obj, key, defaultValue) {\n var p = 0;\n var keyArr = isString(key) ? key.split('.') : key;\n\n while (obj && p < keyArr.length) {\n obj = obj[keyArr[p++]];\n }\n\n return obj === undefined || p < keyArr.length ? defaultValue : obj;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/get.js\n// module id = 103\n// module chunks = 0","import isObject from './is-object';\nimport isString from './is-string';\nimport isNumber from './is-number';\n/**\n * https://github.com/developit/dlv/blob/master/index.js\n * @param obj\n * @param path\n * @param value\n */\n\nexport default (function (obj, path, value) {\n var o = obj;\n var keyArr = isString(path) ? path.split('.') : path;\n keyArr.forEach(function (key, idx) {\n // 不是最后一个\n if (idx < keyArr.length - 1) {\n if (!isObject(o[key])) {\n o[key] = isNumber(keyArr[idx + 1]) ? [] : {};\n }\n\n o = o[key];\n } else {\n o[key] = value;\n }\n });\n return obj;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/set.js\n// module id = 104\n// module chunks = 0","import each from './each';\nimport isPlainObject from './is-plain-object';\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nexport default (function (object, keys) {\n if (object === null || !isPlainObject(object)) {\n return {};\n }\n\n var result = {};\n each(keys, function (key) {\n if (hasOwnProperty.call(object, key)) {\n result[key] = object[key];\n }\n });\n return result;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/pick.js\n// module id = 105\n// module chunks = 0","export default (function (func, wait, options) {\n var timeout, context, args, result;\n var previous = 0;\n if (!options) options = {};\n\n var later = function () {\n previous = options.leading === false ? 0 : Date.now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n\n var throttled = function () {\n var now = Date.now();\n if (!previous && options.leading === false) previous = now;\n var remaining = wait - (now - previous);\n context = this;\n args = arguments;\n\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n\n previous = now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n\n return result;\n };\n\n throttled.cancel = function () {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n\n return throttled;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/throttle.js\n// module id = 106\n// module chunks = 0","import isArrayLike from './is-array-like';\nexport default (function (value) {\n return isArrayLike(value) ? Array.prototype.slice.call(value) : [];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/to-array.js\n// module id = 107\n// module chunks = 0","var map = {};\nexport default (function (prefix) {\n prefix = prefix || 'g';\n\n if (!map[prefix]) {\n map[prefix] = 1;\n } else {\n map[prefix] += 1;\n }\n\n return prefix + map[prefix];\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/unique-id.js\n// module id = 108\n// module chunks = 0","export default (function () {});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/noop.js\n// module id = 109\n// module chunks = 0","export default (function (v) {\n return v;\n});\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/identity.js\n// module id = 110\n// module chunks = 0","import isNil from './is-nil';\nimport isArraylike from './is-array-like';\nexport default function size(o) {\n if (isNil(o)) {\n return 0;\n }\n\n if (isArraylike(o)) {\n return o.length;\n }\n\n return Object.keys(o).length;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/size.js\n// module id = 111\n// module chunks = 0","/**\n * k-v 存储\n */\nvar default_1 =\n/** @class */\nfunction () {\n function default_1() {\n this.map = {};\n }\n\n default_1.prototype.has = function (key) {\n return this.map[key] !== undefined;\n };\n\n default_1.prototype.get = function (key, def) {\n var v = this.map[key];\n return v === undefined ? def : v;\n };\n\n default_1.prototype.set = function (key, value) {\n this.map[key] = value;\n };\n\n default_1.prototype.clear = function () {\n this.map = {};\n };\n\n default_1.prototype.delete = function (key) {\n delete this.map[key];\n };\n\n default_1.prototype.size = function () {\n return Object.keys(this.map).length;\n };\n\n return default_1;\n}();\n\nexport default default_1;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/_@antv_util@2.0.7@@antv/util/esm/cache.js\n// module id = 112\n// module chunks = 0","// wrap tree node\nfunction WrappedTree(w, h, y, c) {\n if (c === void 0) {\n c = [];\n }\n\n var me = this; // size\n\n me.w = w || 0;\n me.h = h || 0; // position\n\n me.y = y || 0;\n me.x = 0; // children\n\n me.c = c || [];\n me.cs = c.length; // modified\n\n me.prelim = 0;\n me.mod = 0;\n me.shift = 0;\n me.change = 0; // left/right tree\n\n me.tl = null;\n me.tr = null; // extreme left/right tree\n\n me.el = null;\n me.er = null; // modified left/right tree\n\n me.msel = 0;\n me.mser = 0;\n}\n\nWrappedTree.fromNode = function (root, isHorizontal) {\n if (!root) return null;\n var children = [];\n root.children.forEach(function (child) {\n children.push(WrappedTree.fromNode(child, isHorizontal));\n });\n if (isHorizontal) return new WrappedTree(root.height, root.width, root.x, children);\n return new WrappedTree(root.width, root.height, root.y, children);\n}; // node utils\n\n\nfunction moveRight(node, move, isHorizontal) {\n if (isHorizontal) {\n node.y += move;\n } else {\n node.x += move;\n }\n\n node.children.forEach(function (child) {\n moveRight(child, move, isHorizontal);\n });\n}\n\nfunction getMin(node, isHorizontal) {\n var res = isHorizontal ? node.y : node.x;\n node.children.forEach(function (child) {\n res = Math.min(getMin(child, isHorizontal), res);\n });\n return res;\n}\n\nfunction normalize(node, isHorizontal) {\n var min = getMin(node, isHorizontal);\n moveRight(node, -min, isHorizontal);\n}\n\nfunction convertBack(converted\n/* WrappedTree */\n, root\n/* TreeNode */\n, isHorizontal) {\n if (isHorizontal) {\n root.y = converted.x;\n } else {\n root.x = converted.x;\n }\n\n converted.c.forEach(function (child, i) {\n convertBack(child, root.children[i], isHorizontal);\n });\n}\n\nfunction layer(node, isHorizontal, d) {\n if (d === void 0) {\n d = 0;\n }\n\n if (isHorizontal) {\n node.x = d;\n d += node.width;\n } else {\n node.y = d;\n d += node.height;\n }\n\n node.children.forEach(function (child) {\n layer(child, isHorizontal, d);\n });\n}\n\nmodule.exports = function (root, options) {\n if (options === void 0) {\n options = {};\n }\n\n var isHorizontal = options.isHorizontal;\n\n function firstWalk(t) {\n if (t.cs === 0) {\n setExtremes(t);\n return;\n }\n\n firstWalk(t.c[0]);\n var ih = updateIYL(bottom(t.c[0].el), 0, null);\n\n for (var i = 1; i < t.cs; ++i) {\n firstWalk(t.c[i]);\n var min = bottom(t.c[i].er);\n separate(t, i, ih);\n ih = updateIYL(min, i, ih);\n }\n\n positionRoot(t);\n setExtremes(t);\n }\n\n function setExtremes(t) {\n if (t.cs === 0) {\n t.el = t;\n t.er = t;\n t.msel = t.mser = 0;\n } else {\n t.el = t.c[0].el;\n t.msel = t.c[0].msel;\n t.er = t.c[t.cs - 1].er;\n t.mser = t.c[t.cs - 1].mser;\n }\n }\n\n function separate(t, i, ih) {\n var sr = t.c[i - 1];\n var mssr = sr.mod;\n var cl = t.c[i];\n var mscl = cl.mod;\n\n while (sr !== null && cl !== null) {\n if (bottom(sr) > ih.low) ih = ih.nxt;\n var dist = mssr + sr.prelim + sr.w - (mscl + cl.prelim);\n\n if (dist > 0) {\n mscl += dist;\n moveSubtree(t, i, ih.index, dist);\n }\n\n var sy = bottom(sr);\n var cy = bottom(cl);\n\n if (sy <= cy) {\n sr = nextRightContour(sr);\n if (sr !== null) mssr += sr.mod;\n }\n\n if (sy >= cy) {\n cl = nextLeftContour(cl);\n if (cl !== null) mscl += cl.mod;\n }\n }\n\n if (!sr && !!cl) {\n setLeftThread(t, i, cl, mscl);\n } else if (!!sr && !cl) {\n setRightThread(t, i, sr, mssr);\n }\n }\n\n function moveSubtree(t, i, si, dist) {\n t.c[i].mod += dist;\n t.c[i].msel += dist;\n t.c[i].mser += dist;\n distributeExtra(t, i, si, dist);\n }\n\n function nextLeftContour(t) {\n return t.cs === 0 ? t.tl : t.c[0];\n }\n\n function nextRightContour(t) {\n return t.cs === 0 ? t.tr : t.c[t.cs - 1];\n }\n\n function bottom(t) {\n return t.y + t.h;\n }\n\n function setLeftThread(t, i, cl, modsumcl) {\n var li = t.c[0].el;\n li.tl = cl;\n var diff = modsumcl - cl.mod - t.c[0].msel;\n li.mod += diff;\n li.prelim -= diff;\n t.c[0].el = t.c[i].el;\n t.c[0].msel = t.c[i].msel;\n }\n\n function setRightThread(t, i, sr, modsumsr) {\n var ri = t.c[i].er;\n ri.tr = sr;\n var diff = modsumsr - sr.mod - t.c[i].mser;\n ri.mod += diff;\n ri.prelim -= diff;\n t.c[i].er = t.c[i - 1].er;\n t.c[i].mser = t.c[i - 1].mser;\n }\n\n function positionRoot(t) {\n t.prelim = (t.c[0].prelim + t.c[0].mod + t.c[t.cs - 1].mod + t.c[t.cs - 1].prelim + t.c[t.cs - 1].w) / 2 - t.w / 2;\n }\n\n function secondWalk(t, modsum) {\n modsum += t.mod;\n t.x = t.prelim + modsum;\n addChildSpacing(t);\n\n for (var i = 0; i < t.cs; i++) {\n secondWalk(t.c[i], modsum);\n }\n }\n\n function distributeExtra(t, i, si, dist) {\n if (si !== i - 1) {\n var nr = i - si;\n t.c[si + 1].shift += dist / nr;\n t.c[i].shift -= dist / nr;\n t.c[i].change -= dist - dist / nr;\n }\n }\n\n function addChildSpacing(t) {\n var d = 0;\n var modsumdelta = 0;\n\n for (var i = 0; i < t.cs; i++) {\n d += t.c[i].shift;\n modsumdelta += d + t.c[i].change;\n t.c[i].mod += modsumdelta;\n }\n }\n\n function updateIYL(low, index, ih) {\n while (ih !== null && low >= ih.low) {\n ih = ih.nxt;\n }\n\n return {\n low: low,\n index: index,\n nxt: ih\n };\n } // do layout\n\n\n layer(root, isHorizontal);\n var wt = WrappedTree.fromNode(root, isHorizontal);\n firstWalk(wt);\n secondWalk(wt, 0);\n convertBack(wt, root, isHorizontal);\n normalize(root, isHorizontal);\n return root;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/layout/non-layered-tidy.js\n// module id = 113\n// module chunks = 0","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar TreeLayout = require('./layout/base');\n\nvar dendrogram = require('./layout/dendrogram');\n\nvar doTreeLayout = require('./layout/do-layout');\n\nvar util = require('./util');\n\nvar DendrogramLayout = /*#__PURE__*/function (_TreeLayout) {\n _inheritsLoose(DendrogramLayout, _TreeLayout);\n\n function DendrogramLayout() {\n return _TreeLayout.apply(this, arguments) || this;\n }\n\n var _proto = DendrogramLayout.prototype;\n\n _proto.execute = function execute() {\n var me = this;\n me.rootNode.width = 0;\n return doTreeLayout(me.rootNode, me.options, dendrogram);\n };\n\n return DendrogramLayout;\n}(TreeLayout);\n\nvar DEFAULT_OPTIONS = {};\n\nfunction dendrogramLayout(root, options) {\n options = util.assign({}, DEFAULT_OPTIONS, options);\n return new DendrogramLayout(root, options).execute();\n}\n\nmodule.exports = dendrogramLayout;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/dendrogram.js\n// module id = 114\n// module chunks = 0","// wrap tree node\n// TODO considering size\nvar util = require('../util');\n\nfunction WrappedTree(height, children) {\n if (height === void 0) {\n height = 0;\n }\n\n if (children === void 0) {\n children = [];\n }\n\n var me = this;\n me.x = me.y = 0;\n me.leftChild = me.rightChild = null;\n me.height = 0;\n me.children = children;\n}\n\nvar DEFAULT_OPTIONS = {\n isHorizontal: true,\n nodeSep: 20,\n nodeSize: 20,\n rankSep: 200,\n subTreeSep: 10\n};\n\nfunction convertBack(converted\n/* WrappedTree */\n, root\n/* TreeNode */\n, isHorizontal) {\n if (isHorizontal) {\n root.x = converted.x;\n root.y = converted.y;\n } else {\n root.x = converted.y;\n root.y = converted.x;\n }\n\n converted.children.forEach(function (child, i) {\n convertBack(child, root.children[i], isHorizontal);\n });\n}\n\nmodule.exports = function (root, options) {\n if (options === void 0) {\n options = {};\n }\n\n options = util.assign({}, DEFAULT_OPTIONS, options);\n var maxDepth = 0;\n\n function wrappedTreeFromNode(n) {\n if (!n) return null;\n n.width = 0;\n\n if (n.depth && n.depth > maxDepth) {\n maxDepth = n.depth; // get the max depth\n }\n\n var children = n.children;\n var childrenCount = children.length;\n var t = new WrappedTree(n.height, []);\n children.forEach(function (child, i) {\n var childWT = wrappedTreeFromNode(child);\n t.children.push(childWT);\n\n if (i === 0) {\n // t.leftChild = childWT.leftChild ? childWT.leftChild : childWT\n t.leftChild = childWT;\n }\n\n if (i === childrenCount - 1) {\n // t.rightChild = childWT.rightChild ? childWT.rightChild : childWT\n t.rightChild = childWT;\n }\n });\n t.originNode = n;\n t.isLeaf = n.isLeaf();\n return t;\n }\n\n function getDrawingDepth(t) {\n if (t.isLeaf || t.children.length === 0) {\n t.drawingDepth = maxDepth;\n } else {\n var depths = t.children.map(function (child) {\n return getDrawingDepth(child);\n });\n var minChildDepth = Math.min.apply(null, depths);\n t.drawingDepth = minChildDepth - 1;\n }\n\n return t.drawingDepth;\n }\n\n var prevLeaf;\n\n function position(t) {\n t.x = t.drawingDepth * options.rankSep;\n\n if (t.isLeaf) {\n t.y = 0;\n\n if (prevLeaf) {\n t.y = prevLeaf.y + prevLeaf.height + options.nodeSep;\n\n if (t.originNode.parent !== prevLeaf.originNode.parent) {\n t.y += options.subTreeSep;\n }\n }\n\n prevLeaf = t;\n } else {\n t.children.forEach(function (child) {\n position(child);\n });\n t.y = (t.leftChild.y + t.rightChild.y) / 2;\n }\n } // wrap node\n\n\n var wt = wrappedTreeFromNode(root); // get depth for drawing\n\n getDrawingDepth(wt); // get position\n\n position(wt); // get x, y\n\n convertBack(wt, root, options.isHorizontal);\n return root;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/layout/dendrogram.js\n// module id = 115\n// module chunks = 0","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar TreeLayout = require('./layout/base');\n\nvar indentedTree = require('./layout/indented');\n\nvar separateTree = require('./layout/separate-root');\n\nvar util = require('./util');\n\nvar VALID_DIRECTIONS = ['LR', // left to right\n'RL', // right to left\n'H' // horizontal\n];\nvar DEFAULT_DIRECTION = VALID_DIRECTIONS[0];\n\nvar IndentedLayout = /*#__PURE__*/function (_TreeLayout) {\n _inheritsLoose(IndentedLayout, _TreeLayout);\n\n function IndentedLayout() {\n return _TreeLayout.apply(this, arguments) || this;\n }\n\n var _proto = IndentedLayout.prototype;\n\n _proto.execute = function execute() {\n var me = this;\n var options = me.options;\n var root = me.rootNode;\n options.isHorizontal = true; // default indent 20 and sink first children;\n\n var _options$indent = options.indent,\n indent = _options$indent === void 0 ? 20 : _options$indent,\n _options$dropCap = options.dropCap,\n dropCap = _options$dropCap === void 0 ? true : _options$dropCap;\n var direction = options.direction || DEFAULT_DIRECTION;\n\n if (direction && VALID_DIRECTIONS.indexOf(direction) === -1) {\n throw new TypeError(\"Invalid direction: \" + direction);\n }\n\n if (direction === VALID_DIRECTIONS[0]) {\n // LR\n indentedTree(root, indent, dropCap);\n } else if (direction === VALID_DIRECTIONS[1]) {\n // RL\n indentedTree(root, indent, dropCap);\n root.right2left();\n } else if (direction === VALID_DIRECTIONS[2]) {\n // H\n // separate into left and right trees\n var _separateTree = separateTree(root, options),\n left = _separateTree.left,\n right = _separateTree.right;\n\n indentedTree(left, indent, dropCap);\n left.right2left();\n indentedTree(right, indent, dropCap);\n var bbox = left.getBoundingBox();\n right.translate(bbox.width, 0);\n root.x = right.x - root.width / 2;\n }\n\n return root;\n };\n\n return IndentedLayout;\n}(TreeLayout);\n\nvar DEFAULT_OPTIONS = {};\n\nfunction indentedLayout(root, options) {\n options = util.assign({}, DEFAULT_OPTIONS, options);\n return new IndentedLayout(root, options).execute();\n}\n\nmodule.exports = indentedLayout;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/indented.js\n// module id = 116\n// module chunks = 0","function positionNode(node, previousNode, dx, dropCap) {\n if (!dropCap) {\n try {\n if (node.id === node.parent.children[node.parent.children.length - 1].id) {\n node.x += dx * node.depth;\n node.y = previousNode ? previousNode.y : 0;\n return;\n }\n } catch (e) {// skip to normal when a node has no parent\n }\n }\n\n node.x += dx * node.depth;\n node.y = previousNode ? previousNode.y + previousNode.height : 0;\n return;\n}\n\nmodule.exports = function (root, indent, dropCap) {\n var previousNode = null;\n root.eachNode(function (node) {\n positionNode(node, previousNode, indent, dropCap);\n previousNode = node;\n });\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/layout/indented.js\n// module id = 117\n// module chunks = 0","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; subClass.__proto__ = superClass; }\n\nvar TreeLayout = require('./layout/base');\n\nvar mindmap = require('./layout/mindmap');\n\nvar doTreeLayout = require('./layout/do-layout');\n\nvar util = require('./util');\n\nvar MindmapLayout = /*#__PURE__*/function (_TreeLayout) {\n _inheritsLoose(MindmapLayout, _TreeLayout);\n\n function MindmapLayout() {\n return _TreeLayout.apply(this, arguments) || this;\n }\n\n var _proto = MindmapLayout.prototype;\n\n _proto.execute = function execute() {\n var me = this;\n return doTreeLayout(me.rootNode, me.options, mindmap);\n };\n\n return MindmapLayout;\n}(TreeLayout);\n\nvar DEFAULT_OPTIONS = {};\n\nfunction mindmapLayout(root, options) {\n options = util.assign({}, DEFAULT_OPTIONS, options);\n return new MindmapLayout(root, options).execute();\n}\n\nmodule.exports = mindmapLayout;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/mindmap.js\n// module id = 118\n// module chunks = 0","var util = require('../util');\n\nfunction secondWalk(node, options) {\n var totalHeight = 0;\n\n if (!node.children.length) {\n totalHeight = node.height;\n } else {\n node.children.forEach(function (c) {\n totalHeight += secondWalk(c, options);\n });\n }\n\n node._subTreeSep = options.getSubTreeSep(node.data);\n node.totalHeight = Math.max(node.height, totalHeight) + 2 * node._subTreeSep;\n return node.totalHeight;\n}\n\nfunction thirdWalk(node) {\n var children = node.children;\n var len = children.length;\n\n if (len) {\n children.forEach(function (c) {\n thirdWalk(c);\n });\n var first = children[0];\n var last = children[len - 1];\n var childrenHeight = last.y - first.y + last.height;\n var childrenTotalHeight = 0;\n children.forEach(function (child) {\n childrenTotalHeight += child.totalHeight;\n });\n\n if (childrenHeight > node.height) {\n // 当子节点总高度大于父节点高度\n node.y = first.y + childrenHeight / 2 - node.height / 2;\n } else if (children.length !== 1 || node.height > childrenTotalHeight) {\n // 多于一个子节点或者父节点大于所有子节点的总高度\n var offset = node.y + (node.height - childrenHeight) / 2 - first.y;\n children.forEach(function (c) {\n c.translate(0, offset);\n });\n } else {\n // 只有一个子节点\n node.y = (first.y + first.height / 2 + last.y + last.height / 2) / 2 - node.height / 2;\n }\n }\n}\n\nvar DEFAULT_OPTIONS = {\n getSubTreeSep: function getSubTreeSep() {\n return 0;\n }\n};\n\nmodule.exports = function (root, options) {\n if (options === void 0) {\n options = {};\n }\n\n options = util.assign({}, DEFAULT_OPTIONS, options);\n root.parent = {\n x: 0,\n width: 0,\n height: 0,\n y: 0\n }; // first walk\n\n root.BFTraverse(function (node) {\n node.x = node.parent.x + node.parent.width; // simply get x\n });\n root.parent = null; // second walk\n\n secondWalk(root, options); // assign sub tree totalHeight\n // adjusting\n // separating nodes\n\n root.startY = 0;\n root.y = root.totalHeight / 2 - root.height / 2;\n root.eachNode(function (node) {\n var children = node.children;\n var len = children.length;\n\n if (len) {\n var first = children[0];\n first.startY = node.startY + node._subTreeSep;\n\n if (len === 1) {\n first.y = node.y + node.height / 2 - first.height / 2;\n } else {\n first.y = first.startY + first.totalHeight / 2 - first.height / 2;\n\n for (var i = 1; i < len; i++) {\n var c = children[i];\n c.startY = children[i - 1].startY + children[i - 1].totalHeight;\n c.y = c.startY + c.totalHeight / 2 - c.height / 2;\n }\n }\n }\n }); // third walk\n\n thirdWalk(root);\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/layout/mindmap.js\n// module id = 119\n// module chunks = 0"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AC7DA;AAAA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/BA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACTA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACLA;AAAA;AACA;AACA;AACA;;;;;;;ACHA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3BA;AAAA;AACA;AACA;AACA;AACA;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACTA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC7EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzLA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpBA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACbA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACbA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC7BA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5BA;AACA;AACA;;;;;;;ACFA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACdA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACRA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC3DA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC7CA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACNA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClCA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;AChHA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC5BA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvBA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjCA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzBA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACRA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACbA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACbA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AAAA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACTA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9CA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC9CA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;;;;;;;ACAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AAAA;AACA;;;;;;;ACDA;AAAA;AACA;;;;;;;ACDA;AAAA;AAAA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACdA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACPA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AACA;AACA;AACA;AACA;;;;;;;ACJA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACRA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACTA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACNA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACvBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACxBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpCA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/CA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACpCA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACzBA;AAAA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC3CA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC/BA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AChBA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACtBA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACjBA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1BA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACfA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;AC1CA;AAAA;AACA;AACA;AACA;;;;;;;ACHA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACXA;;;;;;;ACAA;AACA;AACA;;;;;;;ACFA;AAAA;AAAA;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACtCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC/QA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACnCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACpIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AC5EA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;ACvBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;AClCA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;A","sourceRoot":""} |