[
  {
    "path": ".editorconfig",
    "content": "[*.{js,jsx,ts,tsx,vue}]\nindent_style = space\nindent_size = 2\ntrim_trailing_whitespace = true\ninsert_final_newline = true\n"
  },
  {
    "path": ".eslintignore",
    "content": "dist/**\ndocs/**"
  },
  {
    "path": ".eslintrc.json",
    "content": "{\n  \"root\": true,\n  \"env\": {\n    \"browser\": true,\n    \"node\": true,\n    \"es2021\": true\n  },\n  \"extends\": [\n    \"eslint:recommended\",\n    \"plugin:@typescript-eslint/recommended\"\n  ],\n  \"parser\": \"@typescript-eslint/parser\",\n  \"parserOptions\": {\n    \"ecmaVersion\": 12,\n    \"sourceType\": \"module\"\n  },\n  \"plugins\": [\n    \"@typescript-eslint\",\n    \"eslint-plugin-tsdoc\"\n  ],\n  \"rules\": {\n    \"tsdoc/syntax\": \"warn\",\n    \"quotes\": [\"error\", \"single\"],\n    \"no-multi-spaces\": \"error\",\n    \"no-trailing-spaces\": \"error\"\n  }\n}\n"
  },
  {
    "path": ".github/FUNDING.yml",
    "content": "# These are supported funding model platforms\n\ngithub: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]\npatreon: # Replace with a single Patreon username\nopen_collective: # Replace with a single Open Collective username\nko_fi: # Replace with a single Ko-fi username\ntidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel\ncommunity_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry\nliberapay: # Replace with a single Liberapay username\nissuehunt: # Replace with a single IssueHunt username\notechie: # Replace with a single Otechie username\ncustom: https://www.afdian.net/@hellowuxin\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/bug_report.md",
    "content": "---\nname: Bug report\nabout: Create a report to help us improve\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Describe the bug**\nA clear and concise description of what the bug is.\n\n**To Reproduce**\nSteps to reproduce the behavior:\n1. Go to '...'\n2. Click on '....'\n3. Scroll down to '....'\n4. See error\n\n**Expected behavior**\nA clear and concise description of what you expected to happen.\n\n**Screenshots**\nIf applicable, add screenshots to help explain your problem.\n\n**Desktop (please complete the following information):**\n - OS: [e.g. iOS]\n - Browser [e.g. chrome, safari]\n - Version [e.g. 22]\n\n**Smartphone (please complete the following information):**\n - Device: [e.g. iPhone6]\n - OS: [e.g. iOS8.1]\n - Browser [e.g. stock browser, safari]\n - Version [e.g. 22]\n\n**Additional context**\nAdd any other context about the problem here.\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE/feature_request.md",
    "content": "---\nname: Feature request\nabout: Suggest an idea for this project\ntitle: ''\nlabels: ''\nassignees: ''\n\n---\n\n**Is your feature request related to a problem? Please describe.**\nA clear and concise description of what the problem is. Ex. I'm always frustrated when [...]\n\n**Describe the solution you'd like**\nA clear and concise description of what you want to happen.\n\n**Describe alternatives you've considered**\nA clear and concise description of any alternative solutions or features you've considered.\n\n**Additional context**\nAdd any other context or screenshots about the feature request here.\n"
  },
  {
    "path": ".github/workflows/blank.yml",
    "content": "# This is a basic workflow to help you get started with Actions\n\nname: CI\n\n# Controls when the action will run. \non:\n  # Triggers the workflow on push or pull request events but only for the main branch\n  push:\n    branches: [ main ]\n  pull_request:\n    branches: [ main ]\n\n  # Allows you to run this workflow manually from the Actions tab\n  workflow_dispatch:\n\n# A workflow run is made up of one or more jobs that can run sequentially or in parallel\njobs:\n  # This workflow contains a single job called \"build\"\n  build:\n    runs-on: ubuntu-latest\n    steps:\n     - uses: actions/checkout@v2\n     - name: build\n       run: |\n        npm ci\n        npx jest\n        npm run coverage\n        \n     - name: Coveralls GitHub Action\n       uses: coverallsapp/github-action@master\n       with:\n          github-token: ${{ secrets.GITHUB_TOKEN }}\n"
  },
  {
    "path": ".gitignore",
    "content": ".DS_Store\nnode_modules\n/dist\ncoverage\n\n\n# local env files\n.env.local\n.env.*.local\n\n# Log files\nnpm-debug.log*\nyarn-debug.log*\nyarn-error.log*\npnpm-debug.log*\n\n# Editor directories and files\n.idea\n.vscode\n*.suo\n*.ntvs*\n*.njsproj\n*.sln\n*.sw?\n*.code-workspace"
  },
  {
    "path": ".versionrc.json",
    "content": "{\n  \"header\": \"# Changelog\\n\"\n}"
  },
  {
    "path": "CHANGELOG.md",
    "content": "# Changelog\n\n### [0.5.12](https://github.com/hellowuxin/vue3-mindmap/compare/v0.5.11...v0.5.12) (2022-03-05)\n\n\n### Features\n\n* emits: ['update:modelValue'] ([cf9fce9](https://github.com/hellowuxin/vue3-mindmap/commit/cf9fce9038ce60977fe3e3c308c1af92bed32c11))\n* 添加巴西葡萄牙语 ([2302ac8](https://github.com/hellowuxin/vue3-mindmap/commit/2302ac83dbfc2c694510573422be4b1349f6a88d))\n\n### [0.5.11](https://github.com/hellowuxin/vue3-mindmap/compare/v0.5.9...v0.5.11) (2022-01-13)\n\n\n### Features\n\n* 国际化 ([b98c99b](https://github.com/hellowuxin/vue3-mindmap/commit/b98c99badd26320c1f5c9741a6fc1118fa5e63db))\n\n### [0.5.10](https://github.com/hellowuxin/vue3-mindmap/compare/v0.5.9...v0.5.10) (2021-10-28)\n\n### [0.5.9](https://github.com/hellowuxin/vue3-mindmap/compare/v0.5.8...v0.5.9) (2021-10-28)\n\n\n### Bug Fixes\n\n* edit为false时，右键菜单不可有编辑类型的选项（[#21](https://github.com/hellowuxin/vue3-mindmap/issues/21)） ([aff7101](https://github.com/hellowuxin/vue3-mindmap/commit/aff710137764ebaa9de5a75403c9a4626b436527))\n\n### [0.5.8](https://github.com/hellowuxin/vue3-mindmap/compare/v0.5.7...v0.5.8) (2021-06-05)\n\n\n### Bug Fixes\n\n* 修复编辑状态下换行的异常行为（[#12](https://github.com/hellowuxin/vue3-mindmap/issues/12)） ([654305c](https://github.com/hellowuxin/vue3-mindmap/commit/654305c818a5bd77497aa8844fb61f2f8d19e83a))\n\n### [0.5.7](https://github.com/hellowuxin/vue3-mindmap/compare/v0.5.6...v0.5.7) (2021-05-14)\n\n\n### Features\n\n* 现在可以剪切节点 ([3db4349](https://github.com/hellowuxin/vue3-mindmap/commit/3db43498ac6bf96e929c1d7fe6af8c7d03691903))\n* 现在可以只删除单个节点 ([69678df](https://github.com/hellowuxin/vue3-mindmap/commit/69678df3a837bc950cafd2667f027401f4d50375))\n* 现在折叠状态下也可以添加子节点 ([b206658](https://github.com/hellowuxin/vue3-mindmap/commit/b20665871519a35bd9d8fbdcdb41a96031fc9cdc))\n\n### [0.5.6](https://github.com/hellowuxin/vue3-mindmap/compare/v0.5.5...v0.5.6) (2021-05-13)\n\n\n### Features\n\n* 新增节点被遮挡时，移动至可见 ([a534ac7](https://github.com/hellowuxin/vue3-mindmap/commit/a534ac7c961844018e98459151f5d18c60f29ea4))\n* 现在可以复制和粘贴单个节点 ([51ac02c](https://github.com/hellowuxin/vue3-mindmap/commit/51ac02c0c54687b9a2093b192b4d275a056f8026))\n* 现在可以复制粘贴子树 ([843528d](https://github.com/hellowuxin/vue3-mindmap/commit/843528d5cf06a24715bc608724e249db26ce1f00))\n* 编辑文本时也保持可见 ([e1cf965](https://github.com/hellowuxin/vue3-mindmap/commit/e1cf9656389d094ba2088cce4a904e420b02462d))\n\n\n### Bug Fixes\n\n* 修正判断是否遮挡的元素 ([92908a5](https://github.com/hellowuxin/vue3-mindmap/commit/92908a525ed464d65b7d6a72da94036758615efa))\n* 修正当更新asstSvg内容时，可能挤占空间的错误情况 ([09e6f0f](https://github.com/hellowuxin/vue3-mindmap/commit/09e6f0f420ded45edb8fadefa36c66368b4248e6))\n* 增加元素与视图的空隙，方便区分 ([b77b430](https://github.com/hellowuxin/vue3-mindmap/commit/b77b4306ad3771c044eba8ce7191be8d106cf4e6))\n* 当元素宽度或高度超过视图的宽度或高度，保持右下角可见 ([f93d531](https://github.com/hellowuxin/vue3-mindmap/commit/f93d5319167157276dd09bc611e6f6c0b69dc6c6))\n* 避免产生空隙 ([2ae4939](https://github.com/hellowuxin/vue3-mindmap/commit/2ae4939d29bd4d42460db21394a49e70c6c49900))\n\n### [0.5.5](https://github.com/hellowuxin/vue3-mindmap/compare/v0.5.4...v0.5.5) (2021-05-09)\n\n\n### Bug Fixes\n\n* 修复节点都在同侧时不能改变左右布局的问题（[#11](https://github.com/hellowuxin/vue3-mindmap/issues/11)） ([656cf0a](https://github.com/hellowuxin/vue3-mindmap/commit/656cf0ae637f9f632ed166864b625b81333e42a4))\n* 修正了添加一级节点的新父节点时颜色不统一的问题 ([4e3221c](https://github.com/hellowuxin/vue3-mindmap/commit/4e3221c64eafaa2299ad3c7c50adcf0800d2fa5f))\n\n### [0.5.4](https://github.com/hellowuxin/vue3-mindmap/compare/v0.5.3...v0.5.4) (2021-05-08)\n\n### Features\n\n* 可以直接添加兄弟节点 ([0ede6a1](https://github.com/hellowuxin/vue3-mindmap/commit/0ede6a1d91ecda23546cf1dc678e8f8175d685d1))\n* 可以直接添加新父节点 ([ce7ad06](https://github.com/hellowuxin/vue3-mindmap/commit/ce7ad063d787673cf5ada4b5cd13376d5f816a8a))\n* 添加兄弟节点也会立刻进入编辑模式 ([731ac89](https://github.com/hellowuxin/vue3-mindmap/commit/731ac893fbcf0f81a8dd4e6ef41ed37d96439f72))\n\n### Bug Fixes\n\n* [#10](https://github.com/hellowuxin/vue3-mindmap/issues/10) ([e965ce7](https://github.com/hellowuxin/vue3-mindmap/commit/e965ce74064b87ae1a8b6a5222b7c44d3c0cf3f3))\n* 避免与html attr冲突 ([859b8eb](https://github.com/hellowuxin/vue3-mindmap/commit/859b8eb4777cdaa292c74c090749dbdbe4213252))\n\n### [0.5.3](https://github.com/hellowuxin/vue3-mindmap/compare/v0.5.2...v0.5.3) (2021-05-02)\n\n### Bug Fixes\n\n* 纠正右键某些位置时，菜单内容不能完全展示 ([f4656c0](https://github.com/hellowuxin/vue3-mindmap/commit/f4656c0389b6f2c2ec27e14dd4944c414bd8d48d))\n* 纠正左树中trigger的位置 ([d11e32d](https://github.com/hellowuxin/vue3-mindmap/commit/d11e32d047851e9e6254f060510cbafe0c9c7a6f))\n"
  },
  {
    "path": "Directory.md",
    "content": "```text\nsrc\n├── App.vue // 演示页面\n├── components // 核心组件\n│   ├── Contextmenu.vue // 右键菜单\n│   └── Mindmap // 思维导图\n│       ├── Mindmap.vue // 主体\n│       ├── assistant.ts // 工具函数\n│       ├── attribute // svg属性工具\n│       ├── css // 样式\n│       ├── d3.ts // d3库\n│       ├── data // 数据层\n│       ├── draw // 视图层\n│       ├── interface.ts // 接口\n│       ├── listener // 交互层\n│       ├── state // 历史状态记录/时间旅行\n│       └── variable // 通用变量\n└── i18n // 国际化\n```\n"
  },
  {
    "path": "LICENSE",
    "content": "MIT License\n\nCopyright (c) 2021 伍鑫\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n"
  },
  {
    "path": "README.md",
    "content": "# vue3-mindmap\n\n[![npm](https://img.shields.io/npm/v/vue3-mindmap)](https://www.npmjs.com/package/vue3-mindmap)\n[![build](https://github.com/hellowuxin/vue3-mindmap/actions/workflows/blank.yml/badge.svg)](https://github.com/hellowuxin/vue3-mindmap/actions)\n[![coveralls](https://img.shields.io/coveralls/github/hellowuxin/vue3-mindmap)](https://coveralls.io/github/hellowuxin/vue3-mindmap)\n\n> Mindmap component for Vue3 inspired by [MindNode](https://mindnode.com)\n\n[live demo / 演示页面](https://5xin.xyz/vue3-mindmap)  \n[Directory Description / 目录说明](./Directory.md)\n\n## Install\n\n```sh\nnpm install vue3-mindmap\n```\n\n## PROPS\n\n| Name         | Type                     | Default    | Description          |\n| ---          | ---                      | ---        | ---                  |\n| v-model      | Data[]                   | undefined  | 设置思维导图数据        |\n| x-gap        | Number                   | 84         | 设置节点横向间隔        |\n| y-gap        | Number                   | 18         | 设置节点纵向间隔        |\n| branch       | Number                   | 4          | 设置连线的宽度          |\n| scale-extent | [Number, Number]         | [0.1, 0.8] | 设置缩放范围           |\n| timetravel   | Boolean                  | false      | 是否显示撤销重做按钮     |\n| drag         | Boolean                  | false      | 设置节点是否可拖拽      |\n| zoom         | Boolean                  | false      | 是否可缩放、拖移        |\n| edit         | Boolean                  | false      | 是否可编辑             |\n| center-btn   | Boolean                  | false      | 是否显示居中按钮        |\n| fit-btn      | Boolean                  | false      | 是否显示缩放按钮        |\n| add-node-btn | Boolean                  | false      | 是否显示添加节点按钮     |\n| download-btn | Boolean                  | false      | 是否显示下载按钮        |\n| sharp-corner | Boolean                  | false      | 设置分支为圆角或直角     |\n| ctm          | Boolean                  | false      | 是否响应右键菜单        |\n| locale       | 'zh' \\| 'en' \\| 'ptBR'   | 'zh'       | i18n                  |\n\n## Example\n\n```html\n<template>\n  <mindmap v-model=\"data\"></mindmap>\n</template>\n\n<script>\nimport mindmap from 'vue3-mindmap'\nimport 'vue3-mindmap/dist/style.css'\n\nexport default defineComponent({\n  components: { mindmap },\n  setup () => {\n    const data = [{\n      \"name\":\"如何学习D3\",\n      \"children\": [\n        {\n          \"name\":\"预备知识\",\n          \"children\": [\n            { \"name\":\"HTML & CSS\" },\n            { \"name\":\"JavaScript\" },\n            ...\n          ]\n        },\n        {\n          \"name\":\"安装\",\n          \"collapse\": true,\n          \"children\": [ { \"name\": \"折叠节点\" } ]\n        },\n        { \"name\":\"进阶\", \"left\": true },\n        ...\n      ]\n    }]\n\n    return { data }\n  }\n})\n</script>\n```\n\n## 注意\n\n- 当xGap小于一定数值，父节点的trigger由于添加按钮的存在可能遮挡住子节点的trigger，无法响应子节点的点击\n\n## 待解决\n\n- 直角分支radius\n\n## Todo\n\n- 多选节点\n- 多主节点\n- 更多节点样式\n"
  },
  {
    "path": "docs/assets/index.4c10fd8c.js",
    "content": "import{m as e,r as t,p as n,s as a,c as l,l as o,a as i,b as s,z as r,d,i as c,e as h,t as u,h as p,f as g,g as m,o as f,P as v,j as b,k as x,n as y,u as w,q as _,v as k,w as $,x as M,y as B,A as L,F as z,B as C,C as S,D as E,E as D,G as N,H as A,I as V,J as P,K as G,L as j,M as O,N as K}from\"./vendor.5fc36a9d.js\";var R=Object.freeze({__proto__:null,[Symbol.toStringTag]:\"Module\",get svg(){return de},get g(){return ce},get asstSvg(){return he},get foreign(){return ue}}),H=[{name:\"如何学习D3\",children:[{name:\"预备知识\",children:[{name:\"HTML & CSS\"},{name:\"JavaScript\"},{name:\"DOM\"},{name:\"SVG\"},{name:\"test\\ntest\"}]},{name:\"安装\",collapse:!0,children:[{name:\"折叠节点\"}]},{name:\"入门\",children:[{name:\"选择集\"},{name:\"test\"},{name:\"绑定数据\"},{name:\"添加删除元素\"},{name:\"简单图形\",children:[{name:\"柱形图\"},{name:\"折线图\"},{name:\"散点图\"}]},{name:\"比例尺\"},{name:\"生成器\"},{name:\"过渡\"}],left:!0},{name:\"进阶\",left:!0},{name:\"一级节点\",children:[{name:\"子节点1\"},{name:\"子节点2\"},{name:\"子节点3\"}]}]}];const I=e();var T={container:\"Mindmap_container_fgvb6\",\"svg-wrapper\":\"Mindmap_svg-wrapper_fgvb6\",\"asst-svg\":\"Mindmap_asst-svg_fgvb6\",svg:\"Mindmap_svg_fgvb6\",trigger:\"Mindmap_trigger_fgvb6\",dragging:\"Mindmap_dragging_fgvb6\",\"add-btn\":\"Mindmap_add-btn_fgvb6\",hidden:\"Mindmap_hidden_fgvb6\",\"expand-btn\":\"Mindmap_expand-btn_fgvb6\",text:\"Mindmap_text_fgvb6\",selected:\"Mindmap_selected_fgvb6\",content:\"Mindmap_content_fgvb6\",root:\"Mindmap_root_fgvb6\",edited:\"Mindmap_edited_fgvb6\",outline:\"Mindmap_outline_fgvb6\",collapse:\"Mindmap_collapse_fgvb6\",\"button-list\":\"Mindmap_button-list_fgvb6\",\"right-bottom\":\"Mindmap_right-bottom_fgvb6\",\"right-top\":\"Mindmap_right-top_fgvb6\",disabled:\"Mindmap_disabled_fgvb6\",gps:\"Mindmap_gps_fgvb6\",fit:\"Mindmap_fit_fgvb6\",download:\"Mindmap_download_fgvb6\",prev:\"Mindmap_prev_fgvb6\",next:\"Mindmap_next_fgvb6\",close:\"Mindmap_close_fgvb6\"};const W=t(),Y=t(),U=t(),F=t(),q=t(),J=t();function X(){const e=this.querySelector(`g.${T[\"add-btn\"]}`);e&&(e.style.opacity=\"1\")}function Z(){const e=this.querySelector(`g.${T[\"add-btn\"]}`);e&&(e.style.opacity=\"0\")}const Q=(e,t)=>{e.stopPropagation(),ot(t)};function ee(e,t){var n,a;const l=null==(n=this.parentNode)?void 0:n.parentNode,{foreign:o}=R;if(Ge&&o&&J.value){l.classList.add(T.edited),I.emit(\"edit-flag\",!1),o.attr(\"x\",t.x-2-(t.left?t.width:0)).attr(\"y\",t.y-hn.data.y-2).attr(\"data-id\",t.id).attr(\"data-name\",t.name).style(\"display\",\"\");const e=J.value;e.textContent=t.name,e.focus(),null==(a=getSelection())||a.selectAllChildren(e);const n=l.querySelector(`:scope > .${T.content}`);n&&ht(n)}}const te=()=>{var e;if(null==(e=document.getElementsByClassName(T.edited)[0])||e.classList.remove(T.edited,T.selected),q.value&&J.value){q.value.style.display=\"none\";const e=q.value.getAttribute(\"data-id\"),t=q.value.getAttribute(\"data-name\"),n=J.value.textContent;e&&null!==n&&n!==t&&pn(e,n)}},ne=e=>{if(e.preventDefault(),!W.value)return;const t=lt(W.value,e);ge.value=t;const n=e.composedPath().find((e=>{var t;return null==(t=e.classList)?void 0:t.contains(\"node\")}));if(n){const{classList:e}=n,t=e.contains(T.root),a=e.contains(T.collapse);e.contains(T.selected)||ot(n),ve.value.disabled=t,_e.value.disabled=t,Me.value.disabled=t,ye.value.disabled=t,we.value.disabled=t,xe.value.disabled=t,fe.value.disabled=!a,me.value.disabled=a||e.contains(\"leaf\"),pe.value=!1}else pe.value=!0;I.emit(\"showContextmenu\",!0)},ae=e=>{var t,n;switch(e){case\"zoomfit\":ct();break;case\"zoomin\":case\"zoomout\":ut(!0);break;case\"add\":le(new MouseEvent(\"click\"),it());break;case\"delete\":vn(it().id);break;case\"delete-one\":bn(it().id);break;case\"collapse\":yn(it().id);break;case\"expand\":xn(it().id);break;case\"add-sibling\":{const e=it(),t=wn(e.id,\"\");t&&oe(t)}break;case\"add-sibling-before\":{const e=it(),t=wn(e.id,\"\",!0);t&&oe(t)}break;case\"add-parent\":{const e=it(),t=_n(e.id,\"\");t&&oe(t)}break;case\"cut\":{const{id:e}=it(),n=null==(t=hn.find(e))?void 0:t.rawData;n&&navigator.clipboard.writeText(JSON.stringify(n)),vn(e)}break;case\"copy\":{const e=it(),t=null==(n=hn.find(e.id))?void 0:n.rawData;t&&navigator.clipboard.writeText(JSON.stringify(t))}break;case\"paste\":{const e=it();navigator.clipboard.readText().then((t=>{const n=ft(t)||{name:t};fn(e.id,n)}))}}},le=(e,t)=>{const n=fn(t.id,\"\");n&&oe(n,e)};function oe(e,t=new MouseEvent(\"click\")){const{g:n}=R;if(!n)return;const a=n.selectAll(`g[data-id='${xt(e)}'] > g.${T.content} > g.${T.text}`).node();a&&(I.emit(\"edit-flag\",!0),ee.call(a,t,e))}const ie=(e,t)=>{xn(t.id)};const se=e=>{const{svg:t}=R;t&&(e?(Fe(t),t.on(\"dblclick.zoom\",null)):t.on(\".zoom\",null))},re=e=>{W.value&&(e?W.value.addEventListener(\"contextmenu\",ne):W.value.removeEventListener(\"contextmenu\",ne))};let de,ce,he,ue;I.on(\"selection-svg\",(e=>de=e)),I.on(\"selection-g\",(e=>ce=e)),I.on(\"selection-asstSvg\",(e=>he=e)),I.on(\"selection-foreign\",(e=>ue=e));const pe=t(!0),ge=t({left:0,top:0}),me=t({name:\"collapse\",disabled:!0}),fe=t({name:\"expand\",disabled:!0}),ve=t({name:\"delete\",disabled:!1}),be=t({name:\"add\",disabled:!1}),xe=t({name:\"add-parent\",disabled:!1}),ye=t({name:\"add-sibling\",disabled:!1}),we=t({name:\"add-sibling-before\",disabled:!0}),_e=t({name:\"cut\",disabled:!1}),ke=t({name:\"copy\",disabled:!1}),$e=t({name:\"paste\",disabled:!1}),Me=t({name:\"delete-one\",disabled:!1}),Be=l((()=>[[be.value,xe.value,ye.value,we.value],[_e.value,ke.value,$e.value,ve.value,Me.value],[{name:\"selectall\",disabled:!0}],[me.value,fe.value]].filter(((e,t)=>0!==t&&1!==t||Ze.value.edit)))),Le=l((()=>[[{name:\"zoomin\",disabled:Ue.value.k>=Pe[1]},{name:\"zoomout\",disabled:Ue.value.k<=Pe[0]},{name:\"zoomfit\",disabled:!1}],[{name:\"selectall\",disabled:!0}]])),ze=l((()=>pe.value?Le.value:Be.value)),Ce=o().source((e=>e.source)).target((e=>e.target)),Se=i().curve(s),Ee=({source:e,target:t})=>Se([e,t]);let De=!1,Ne=Ce;const Ae=t(!1);I.on(\"sharp-corner\",(e=>{De!==e&&(Ae.value=!0),De=!!e,Ne=e?Ee:Ce}));let Ve=4;I.on(\"branch\",(e=>Ve=e||Ve));let Pe=[.1,8];I.on(\"scale-extent\",(e=>Pe=e||Pe));let Ge=!1;I.on(\"edit-flag\",(e=>Ge=!!e));let je=18,Oe=84,Ke=Math.min(je/2-1,10);I.on(\"gap\",(e=>{e&&(Oe=e.xGap,je=e.yGap,Ke=Math.min(je/2-1,10),Ke=Math.min(Oe/2-1,Ke))}));const Re=new ResizeObserver((e=>{const{foreign:t}=R;if(!t)return;const n=e[0],a=n.target,{width:l,height:o}=n.contentRect,i=2*(parseInt(getComputedStyle(a).paddingLeft||\"0\",10)+parseInt(getComputedStyle(a.parentNode).borderTopWidth||\"0\",10));t.attr(\"width\",l+i).attr(\"height\",o+i),\"none\"!==t.style(\"display\")&&ht(a)})),He={side:12,padding:2,margin:8},Ie=He.side+2*He.padding,Te=16,We=4,Ye=2,Ue=t(c),Fe=r().on(\"zoom\",(e=>{const{g:t}=R;t&&(Ue.value=e.transform,t.attr(\"transform\",e.transform.toString()))})).scaleExtent(Pe),qe=d().container((function(){var e,t;return null==(t=null==(e=this.parentNode)?void 0:e.parentNode)?void 0:t.parentNode})).on(\"drag\",(function(e,t){var a;const l=null==(a=this.parentNode)?void 0:a.parentNode;Y.value&&Y.value.classList.add(T.dragging);const{g:o}=R;if(!o)return;rt(l,t,[e.x-t.x,e.y-t.y]);const i=n(e,U.value);i[1]+=hn.data.y;const s=o.selectAll(\"g.node\").filter((e=>{if(e!==t&&e!==t.parent&&!e.id.startsWith(t.id)){let t=Ke,n=e.width+Ke;e.left&&0!==e.depth&&([t,n]=[n,t]);const a={x0:e.x-t,x1:e.x+n,y0:e.y-Ke,y1:e.y+e.height+Ke};return i[0]>a.x0&&i[1]>a.y0&&i[0]<a.x1&&i[1]<a.y1}return!1})),r=Array.from(document.getElementsByClassName(T.outline)),d=s.node();r.forEach((e=>{e!==d&&e.classList.remove(T.outline)})),null==d||d.classList.add(T.outline)})).on(\"end\",(function(e,t){var n;const l=null==(n=this.parentNode)?void 0:n.parentNode;Y.value&&Y.value.classList.remove(T.dragging);const o=document.getElementsByClassName(T.outline)[0];if(o){o.classList.remove(T.outline);const e=o.getAttribute(\"data-id\");if(!e)throw new Error(\"outline data-id null\");return t.px=0,t.py=0,void gn(e,t.id)}const i=t.x-hn.getRootWidth()/2,s=1===t.depth&&i*(i+t.px)<0,r=s?e=>e.left!==t.left:e=>e.left===t.left,d=l.parentNode;let c=s?{y:1/0,id:t.id}:t,h=s?{y:-1/0,id:t.id}:t;const u=a(d).selectAll(`g.${vt(t).join(\".\")}`).filter((e=>e!==t&&r(e))),p=t.y+t.py;u.each((e=>{(s||e.y>t.y)&&e.y<p&&e.y>h.y&&(h=e),(s||e.y<t.y)&&e.y>p&&e.y<c.y&&(c=e)})),c.id!==t.id?(t.px=0,t.py=0,mn(t.id,c.id)):h.id!==t.id?(t.px=0,t.py=0,mn(t.id,h.id,1)):s?(t.px=0,t.py=0,kn(t.id)):rt(l,t,[0,0],500)})),Je=t(!1);let Xe;I.on(\"mindmap-context\",(e=>e?Xe=e:null));const Ze=t({drag:!1,edit:!1});const Qe=new class{constructor(e=20){this.length=e,this.snapshots=[],this.cursor=-1}get hasPrev(){return this.cursor>0}get hasNext(){return this.snapshots.length>this.cursor+1}snap(e){const t=h.cloneDeep(e);for(;this.cursor<this.snapshots.length-1;)this.snapshots.pop();this.snapshots.push(t),this.snapshots.length>this.length&&this.snapshots.shift(),this.cursor=this.snapshots.length-1}prev(){return this.hasPrev?(this.cursor-=1,h.cloneDeep(this.snapshots[this.cursor])):null}next(){return this.hasNext?(this.cursor+=1,h.cloneDeep(this.snapshots[this.cursor])):null}},et=t(!1),tt=t(!1),nt=e=>{const t=e.split(\"\\n\");return t.length>1&&\"\"===t[t.length-1]&&t.pop(),t},at=(e,t)=>u().duration(e).ease(t),lt=(e,t)=>{const{pageX:n,pageY:a}=t,l=e.getBoundingClientRect();return{left:n-(l.left+window.pageXOffset),top:a-(l.top+window.pageYOffset)}};function ot(e){const t=e instanceof SVGGElement?e:document.querySelector(`g[data-id='${xt(e)}']`),n=document.getElementsByClassName(T.selected)[0];if(!t)throw new Error(\"selectGNode failed\");n?n!==t?(n.classList.remove(T.selected),t.classList.add(T.selected)):I.emit(\"edit-flag\",!0):t.classList.add(T.selected)}function it(){return a(`.${T.selected}`).data()[0]}const st=e=>{const{asstSvg:t}=R;if(!t)throw new Error(\"asstSvg undefined\");const n=nt(e),a=t.append(\"text\");a.selectAll(\"tspan\").data(n).enter().append(\"tspan\").text((e=>e)).attr(\"x\",0);const l=a.node().getBBox();return a.remove(),{width:Math.max(l.width,22),height:Math.max(l.height,22)*n.length}},rt=(e,t,n,l=0)=>{const o=at(l,g);t.px=n[0],t.py=n[1],a(e).transition(o).attr(\"transform\",bt),a(`g[data-id='${xt(t)}'] > path`).transition(o).attr(\"d\",(e=>wt(e)))},dt=()=>{const{svg:e}=R;if(!e)return;const t=hn.data;Fe.translateTo(e,0+t.width/2,0+t.height/2)},ct=()=>{const{svg:e}=R;if(!e||!U.value||!Y.value)return;const t=U.value.getBBox(),n=Y.value.getBoundingClientRect(),a=Math.min(n.width/t.width,n.height/t.height),l=n.width/2,o=n.height/2,i=t.width*a/2,s=t.height*a/2,r=c.translate(-t.x*a+l-i,-t.y*a+o-s).scale(a);Fe.transform(e,r)},ht=e=>{const{svg:t}=R;if(t&&Y.value){const{k:n}=Ue.value,a=e.getBoundingClientRect(),{x:l,y:o,width:i,height:s}=Y.value.getBoundingClientRect(),r=a.x-l,d=r+a.width,c=a.y-o,h=c+a.height,u=2;let p=0,g=0;r<0&&(p=-r/n+u),(a.width>i||d>i)&&(p=-(d-i)/n-u),c<0&&(g=-c/n+u),(a.height>s||h>s)&&(g=-(h-s)/n-u),Fe.translateBy(t,p,g)}},ut=e=>{const{svg:t}=R;t&&Fe.scaleBy(t,e?1.1:.9)},pt=()=>{var e,t;W.value&&(e=W.value,t=hn.data.name,p(e).then((e=>{const n=e.toDataURL(),a=open();a&&(a.document.write(`<img src='${n}'>`),a.document.title=t,a.document.close())})))},gt=()=>{const e=Qe.next();e&&(hn.data=e,un(!1))},mt=()=>{const e=Qe.prev();e&&(hn.data=e,un(!1))},ft=e=>{let t;try{return t=JSON.parse(e),\"name\"in t&&t}catch(n){return!1}},vt=e=>{const t=[\"node\"];return e&&t.push(`depth-${e.depth}`),t},bt=e=>`translate(${e.dx+e.px},${e.dy+e.py})`,xt=e=>e.id,yt=e=>{const t=nt(e.name),n=e.height/t.length;return t.map((e=>({name:e,height:n})))},wt=e=>{let t=0,n=0;const a=Math.max(Ke-3,0);let l=e.width+a;let o=3;const{parent:i}=e;i&&(t=i.width,n=i.height,0===i.depth&&(De||(t/=2),n/=2,o=0)),e.left&&(i&&(0!==i.depth?t=-t:De&&(t=0)),l=-l);const s=[-e.dx+t-e.px,-e.dy+n+o-e.py],r=[0,e.height+3];return`${Ne({source:s,target:r})}L${l},${r[1]}`},_t=(e,t,n,a,l)=>{e?(St(t,10),Lt(n,10,6),zt(a,10),l&&Ct(l,10)):(St(t,Ke),Lt(n,Ke),zt(a,Ke),l&&Ct(l,Ke))},kt=(e,t)=>{const n=e.attr(\"class\",(e=>(e=>{const t=vt(e);return e&&(0===e.depth&&t.push(T.root),e.collapse?t.push(T.collapse):e.children&&0!==e.children.length||t.push(\"leaf\")),t})(e).join(\" \"))).attr(\"data-id\",xt);(t?n.transition(t):n).attr(\"transform\",bt)},$t=(e,t)=>{(t?e.transition(t):e).attr(\"transform\",(e=>`translate(${e.left?-e.width:0},0)`))},Mt=e=>{e.attr(\"alignment-baseline\",\"text-before-edge\").text((e=>e.name||\" \")).attr(\"x\",0).attr(\"dy\",((e,t)=>t?e.height:0))},Bt=(e,t)=>{e.attr(\"cx\",t).attr(\"cy\",0).attr(\"r\",1)},Lt=(e,t,n=4)=>{e.attr(\"x\",(e=>-t-(e.left?e.width:0))).attr(\"y\",-t).attr(\"rx\",n).attr(\"ry\",n).attr(\"width\",(e=>e.width+2*t)).attr(\"height\",(e=>e.height+2*t))},zt=(e,t)=>{e.attr(\"class\",T[\"expand-btn\"]).attr(\"transform\",(e=>((e,t)=>{const n=0===e.depth?e.height/2:e.height+3;let a=e.width+t+Te/2+4;return e.left&&(a=-a),`translate(${a},${n})`})(e,t))).style(\"color\",(e=>e.color))},Ct=(e,t)=>{e.attr(\"class\",(e=>(e=>{const t=[T[\"add-btn\"]];return e.collapse&&t.push(T.hidden),t})(e).join(\" \"))).attr(\"transform\",(e=>((e,t)=>{const n=0===e.depth?e.height/2:e.height+3;let a=e.width+t+Ie/2+He.margin;return e.left&&(a=-a),`translate(${a},${n})`})(e,t)))},St=(e,t)=>{const n=Ie+He.margin,a=2*t;e.attr(\"class\",T.trigger).attr(\"x\",(e=>-t-(e.left?e.width+n:0))).attr(\"y\",-t).attr(\"width\",(e=>e.width+a+n)).attr(\"height\",(e=>e.height+a))},Et=(e,t)=>{const n=e.attr(\"stroke\",(e=>e.color)).attr(\"stroke-width\",Ve);if(t){const e=n.transition(t);Ae.value?e.attrTween(\"d\",Dt):e.attr(\"d\",wt)}else n.attr(\"d\",wt)};function Dt(e,t,n){const a=wt(e),l=n[t],o=l.cloneNode(),i=l.getTotalLength();o.setAttribute(\"d\",a);const s=o.getTotalLength(),r=[0],d=10/Math.max(i,s);let c=0;for(;(c+=d)<1;)r.push(c);r.push(1);const h=r.map((e=>{const t=l.getPointAtLength(e*i),n=o.getPointAtLength(e*s);return m([t.x,t.y],[n.x,n.y])}));return e=>e<1?\"M\"+h.map((t=>t(e))).join(\"L\"):a}const Nt=e=>{const t=e.append(\"tspan\");return Mt(t),t},At=e=>(Mt(e),e),Vt=e=>{const t=e.append(\"g\");return(e=>{const{side:t,padding:n}=He,a=-n-t/2,l=t+2*n;e.attr(\"x\",a).attr(\"y\",a).attr(\"rx\",4).attr(\"ry\",4).attr(\"width\",l).attr(\"height\",l)})(t.append(\"rect\")),t.append(\"path\").attr(\"d\",((e,t)=>{const n=-t/2,a=-e/2,l=e/2,o=t/2;return`M${o},${l}H${l}V${o}H${a}V${l}H${n}V${a}H${a}V${n}H${l}V${a}H${o}V${l}Z`})(2,He.side)),t},Pt=e=>{const t=Vt(e);return t.on(\"click\",le),t},Gt=e=>{const t=e.append(\"g\");return t.append(\"rect\").attr(\"x\",-Te/2).attr(\"y\",-We/2).attr(\"width\",Te).attr(\"height\",We).attr(\"rx\",Ye).attr(\"ry\",Ye).attr(\"stroke\",(e=>e.color||\"grey\")).attr(\"fill\",(e=>e.color||\"grey\")),Bt(t.append(\"circle\"),-4),Bt(t.append(\"circle\"),0),Bt(t.append(\"circle\"),4),t},jt=e=>{var t;const n=!(null==(t=e.data()[0])?void 0:t.depth),a=e.append(\"g\");kt(a),Et(a.append(\"path\"));const l=a.append(\"g\").attr(\"class\",T.content),o=l.append(\"rect\"),i=l.append(\"g\").attr(\"class\",T.text),s=i.append(\"rect\"),r=i.append(\"text\");$t(r);const d=r.selectAll(\"tspan\").data(yt).enter().append(\"tspan\");let c;Mt(d),Je.value&&(c=Pt(l));const h=Gt(l);return _t(n,o,s,h,c),((e,t)=>{if(e.select(`:scope > g.${T.content} > g.${T[\"expand-btn\"]}`).on(\"click\",ie),Ze.value.drag||Ze.value.edit){const n=e.select(`:scope > g.${T.content} > g.${T.text}`);n.on(\"mousedown\",Q),Ze.value.drag&&!t&&qe(n),Ze.value.edit&&n.on(\"click\",ee)}Je.value&&e.select(`:scope > g.${T.content}`).on(\"mouseenter\",X).on(\"mouseleave\",Z)})(a,n),a.each(((e,t)=>{e.children&&Kt(e.children,a.filter(((e,n)=>t===n)))})),l.raise(),a},Ot=e=>{var t;const n=!(null==(t=e.data()[0])?void 0:t.depth),a=at(500,g);kt(e,a),Et(e.select(\":scope > path\"),a);const l=e.select(`:scope > g.${T.content}`),o=l.select(\":scope > rect\"),i=l.select(`g.${T.text}`),s=i.select(\"rect\"),r=i.select(\"text\");$t(r,a),r.selectAll(\"tspan\").data(yt).join(Nt,At,(e=>e.remove()));let d=l.select(`g.${T[\"add-btn\"]}`);const c=l.select(`g.${T[\"expand-btn\"]}`);return Je.value?d.node()||(d=Pt(l)):d.remove(),_t(n,o,s,c,d),e.each(((t,n)=>{t.children&&Kt(t.children,e.filter(((e,t)=>n===t)))})),l.raise(),e},Kt=(e=[hn.data],t=ce)=>{t.selectAll(`g.${vt(e[0]).join(\".\")}`).data(e,(e=>e.gKey)).join(jt,Ot)};class Rt{constructor(e,t,n,a){this.w=e,this.h=t,this.y=n,this.c=a,this.cs=a.length,this.x=0,this.prelim=0,this.mod=0,this.shift=0,this.change=0,this.tl=null,this.tr=null,this.el=null,this.er=null,this.msel=0,this.mser=0}}function Ht(e){0===e.cs?(e.el=e,e.er=e,e.msel=e.mser=0):(e.el=e.c[0].el,e.msel=e.c[0].msel,e.er=e.c[e.cs-1].er,e.mser=e.c[e.cs-1].mser)}function It(e){return e.y+e.h}class Tt{constructor(e,t,n){this.lowY=e,this.index=t,this.next=n}}function Wt(e,t,n){for(;null!==n&&e>=n.lowY;)n=n.next;return new Tt(e,t,n)}function Yt(e,t,n,a){e.c[t].mod+=a,e.c[t].msel+=a,e.c[t].mser+=a,function(e,t,n,a){if(n!==t-1){const l=t-n;e.c[n+1].shift+=a/l,e.c[t].shift-=a/l,e.c[t].change-=a-a/l}}(e,t,n,a)}function Ut(e){return 0===e.cs?e.tl:e.c[0]}function Ft(e){return 0===e.cs?e.tr:e.c[e.cs-1]}function qt(e,t,n){let a=e.c[t-1],l=a.mod,o=e.c[t],i=o.mod;for(;null!==a&&null!==o;){It(a)>n.lowY&&(n=n.next);const s=l+a.prelim+a.w-(i+o.prelim);s>0&&(i+=s,Yt(e,t,n.index,s));const r=It(a),d=It(o);r<=d&&(a=Ft(a),null!==a&&(l+=a.mod)),r>=d&&(o=Ut(o),null!==o&&(i+=o.mod))}null===a&&null!==o?function(e,t,n,a){const l=e.c[0].el;l.tl=n;const o=a-n.mod-e.c[0].msel;l.mod+=o,l.prelim-=o,e.c[0].el=e.c[t].el,e.c[0].msel=e.c[t].msel}(e,t,o,i):null!==a&&null===o&&function(e,t,n,a){const l=e.c[t].er;l.tr=n;const o=a-n.mod-e.c[t].mser;l.mod+=o,l.prelim-=o,e.c[t].er=e.c[t-1].er,e.c[t].mser=e.c[t-1].mser}(e,t,a,l)}function Jt(e){if(0===e.cs)return void Ht(e);Jt(e.c[0]);let t=Wt(It(e.c[0].el),0,null);for(let n=1;n<e.cs;n++){Jt(e.c[n]);const a=It(e.c[n].er);qt(e,n,t),t=Wt(a,n,t)}!function(e){e.prelim=(e.c[0].prelim+e.c[0].mod+e.c[e.cs-1].mod+e.c[e.cs-1].prelim+e.c[e.cs-1].w)/2-e.w/2}(e),Ht(e)}function Xt(e,t){t+=e.mod,e.x=e.prelim+t,function(e){let t=0,n=0;for(let a=0;a<e.cs;a++)t+=e.c[a].shift,n+=t+e.c[a].change,e.c[a].mod+=n}(e);for(let n=0;n<e.cs;n++)Xt(e.c[n],t)}function Zt(e){Jt(e),Xt(e,0)}class Qt{constructor(e,t){this.gap=e,this.bottomPadding=t}addBoundingBox(e,t){return{width:e+this.gap,height:t+this.bottomPadding}}removeBoundingBox(e,t){return{x:e+this.gap/2,y:t}}}class en{constructor(e){this.bb=e}layout(e){const t=this.convert(e);Zt(t);const{boundingBox:n,result:a}=this.assignLayout(t,e);return{result:a,boundingBox:n}}convert(e,t=0){const{width:n,height:a}=this.bb.addBoundingBox(e.width,e.height),l=[];if(e.children&&e.children.length)for(let o=0;o<e.children.length;o++)l[o]=this.convert(e.children[o],t+a);return new Rt(n,a,t,l)}assignCoordinates(e,t){const{x:n,y:a}=this.bb.removeBoundingBox(e.x,e.y);t.x=n,t.y=a;for(let l=0;l<e.c.length;l++)this.assignCoordinates(e.c[l],t.children[l])}getSize(e,t){const{x:n,y:a,width:l,height:o}=e;if(t||(t={left:n,right:n+l,top:a,bottom:a+o}),t.left=Math.min(t.left,n),t.right=Math.max(t.right,n+l),t.top=Math.min(t.top,a),t.bottom=Math.max(t.bottom,a+o),e.children)for(const i of e.children)this.getSize(i,t);return t}assignLayout(e,t,n){const{x:a,y:l}=this.bb.removeBoundingBox(e.x,e.y);t.x=a,t.y=l;const{width:o,height:i}=t;n||(n={left:a,right:a+o,top:l,bottom:l+i}),n.left=Math.min(n.left,a),n.right=Math.max(n.right,a+o),n.top=Math.min(n.top,l),n.bottom=Math.max(n.bottom,l+i);for(let s=0;s<e.c.length;s++)this.assignLayout(e.c[s],t.children[s],n);return{result:t,boundingBox:n}}}const tn=e=>[e.width,e.height]=[e.height,e.width],nn=e=>{e.parent?(e.dx=e.x-e.parent.x,e.dy=e.y-e.parent.y):(e.dx=0,e.dy=0)},an=(e,t)=>e.id=t,ln=e=>{e.parent?e.depth=e.parent.depth+1:e.depth=0},on=e=>{e.parent&&e.parent.color&&(e.color=e.parent.color)},sn=e=>{e.depth>1&&e.parent&&(e.left=e.parent.left)},rn=(e,t,n=\"0\")=>{var a;t.forEach((t=>{t(e,n)}));const{children:l}=e;if(l)for(let o=0;o<l.length;){const i=l[o];\"del\"===i.id?(l.splice(o,1),null==(a=e.rawData.children)||a.splice(o,1)):(rn(i,t,`${n}-${o}`),o+=1)}},dn=(e,t)=>{const n=new Qt(t,e);return new en(n)};class cn{constructor(e,t,n,a,l=f(v)){this.colorNumber=0,this.gKey=0,this.rootWidth=0,this.diffY=0,this.colorScale=l,this.getSize=a,this.layout=dn(t,n),this.data=this.createMdataFromData(e,\"0\"),this.renew()}createMdataFromData(e,t,n=null){const{name:a,collapse:l,children:o}=e,{width:i,height:s}=this.getSize(a),r=n?n.depth+1:0;let d=!1,c=n?n.color:\"\";1===r?(d=!!e.left,c=this.colorScale(`${this.colorNumber+=1}`)):0!==r&&n&&(d=n.left);const h={id:t,name:a,rawData:e,parent:n,left:d,color:c,depth:r,x:0,y:0,dx:0,dy:0,px:0,py:0,width:i,height:s,children:[],_children:[],collapse:!!l,gKey:this.gKey+=1};return o&&(h.collapse?o.forEach(((e,n)=>{h._children.push(this.createMdataFromData(e,`${t}-${n}`,h))})):o.forEach(((e,n)=>{h.children.push(this.createMdataFromData(e,`${t}-${n}`,h))}))),h}renew(...e){rn(this.data,[tn,ln,sn]),this.data=this.l(this.data);const t=[tn,this.renewXY.bind(this),nn];rn(this.data,t.concat(e))}l(e){const{left:t,right:n}=(e=>{const t=Object.assign({},e),n=Object.assign({},e);if(e.collapse);else{const{children:a}=e;t.children=[],n.children=[],a.forEach((e=>{e.left?t.children.push(e):n.children.push(e),e.parent&&(e.parent=n)}))}return{left:t,right:n}})(e);return this.layout.layout(t),this.layout.layout(n),this.diffY=n.x-t.x,this.rootWidth=t.height,n.children=e.children,n}renewXY(e){[e.x,e.y]=[e.y,e.x],e.left&&(e.x=-e.x+this.rootWidth,e.y+=this.diffY)}getRootWidth(){return this.rootWidth}setBoundingBox(e,t){this.layout=dn(e,t),this.renew()}find(e){const t=e.split(\"-\").map((e=>~~e));let n=this.data;for(let a=1;a<t.length;a++){const e=t[a],{children:l}=n;if(!(e<l.length))return null;n=l[e]}return n.id===e?n:null}rename(e,t){if(e.length>0){const n=this.find(e);if(n&&n.name!==t){n.name=t,n.rawData.name=t;const e=this.getSize(n.name);n.width=e.width,n.height=e.height,this.renew()}return n}return null}moveChild(e,t){var n,a;if(e===t)return null;const l=this.find(e),o=this.find(t),i=t.split(\"-\").pop();if(i&&l&&o){const e=o.parent;null==(n=null==e?void 0:e.children)||n.splice(~~i,1),null==(a=null==e?void 0:e.rawData.children)||a.splice(~~i,1),o.parent=l,o.gKey=this.gKey+=1,o.depth=o.parent.depth+1,1===o.depth?o.color=this.colorScale(`${this.colorNumber+=1}`):o.left=o.parent.left,l.collapse?l._children.push(o):l.children.push(o),l.rawData.children?l.rawData.children.push(o.rawData):l.rawData.children=[o.rawData],this.renew(an,on)}return o}moveSibling(e,t,n=0){const a=e.split(\"-\"),l=t.split(\"-\");let o=a.pop(),i=l.pop();if(e===t||a.length!==l.length||!o||!i)return null;const s=this.find(e),r=this.find(t);if(r&&s&&s.parent){o=parseInt(o,10),i=parseInt(i,10),o<i&&(i-=1);const{children:e}=s.parent,{children:t}=s.parent.rawData;if(e&&t)return e.splice(o,1),e.splice(i+n,0,s),t.splice(o,1),t.splice(i+n,0,s.rawData),1===s.depth&&(s.left=r.left),this.renew(an),s}return null}add(e,t){const n=this.find(e);if(n){if(n.collapse&&this.expand(e),n.rawData.children||(n.rawData.children=[]),\"string\"==typeof t){const e=t,a=this.getSize(e),l={name:e},o=n.color?n.color:this.colorScale(`${this.colorNumber+=1}`),i={id:`${n.id}-${n.children.length}`,name:e,rawData:l,parent:n,left:n.left,collapse:!1,color:o,gKey:this.gKey+=1,width:a.width,height:a.height,depth:n.depth+1,x:0,y:0,dx:0,dy:0,px:0,py:0,children:[],_children:[]};return n.children.push(i),n.rawData.children.push(l),this.renew(),i}{const e=t,a=this.createMdataFromData(e,`${n.id}-${n.children.length}`,n);return n.children.push(a),n.rawData.children.push(e),this.renew(),a}}return null}expand(e){return this.eoc(e,!1,[on,an])}collapse(e){return this.eoc(e,!0)}eoc(e,t,n=[]){const a=this.find(e);return a&&(a.collapse=t,a.rawData.collapse=t,[a._children,a.children]=[a.children,a._children],this.renew(...n)),a}delete(e){const t=this.find(e);if(!t||!t.parent)throw new Error(t?\"暂不支持删除根节点\":\"未找到需要删除的节点\");t.id=\"del\",this.renew(an)}deleteOne(e){var t;const n=this.find(e);if(n&&n.parent){const{parent:a,children:l,_children:o,collapse:i,rawData:s}=n,r=parseInt(e.split(\"-\").pop(),10);a.children.splice(r,1,...i?o:l),null==(t=a.rawData.children)||t.splice(r,1,...s.children||[]),l.forEach((e=>{e.parent=a,1===e.depth&&(e.rawData.left=e.left)})),this.renew(an)}}addSibling(e,t,n=!1){var a;const l=this.find(e);if(l&&l.parent){const o=parseInt(e.split(\"-\").pop(),10),{parent:i,left:s}=l,r={name:t,left:s},d=this.getSize(t),c=n?o:o+1,h={name:t,parent:i,children:[],_children:[],color:i.color?i.color:this.colorScale(`${this.colorNumber+=1}`),collapse:!1,rawData:r,id:`${i.id}-${c}`,left:s,gKey:this.gKey+=1,depth:l.depth,width:d.width,height:d.height,x:0,y:0,dx:0,dy:0,px:0,py:0};return i.children.splice(c,0,h),null==(a=i.rawData.children)||a.splice(c,0,r),this.renew(an),h}return null}addParent(e,t){var n;const a=this.find(e);if(a&&a.parent){const{parent:e,left:l,color:o}=a,i=this.getSize(t),s=parseInt(a.id.split(\"-\").pop(),10),r={name:t,children:[a.rawData],left:l};null==(n=e.rawData.children)||n.splice(s,1,r);const d={rawData:r,left:l,name:t,color:o,collapse:!1,parent:e,id:a.id,depth:a.depth,width:i.width,height:i.height,gKey:this.gKey+=1,children:[a],_children:[],x:0,y:0,dx:0,dy:0,px:0,py:0};return a.parent=d,e.children.splice(s,1,d),this.renew(an),d}return null}changeLeft(e){const t=this.find(e);return t&&(t.left=!t.left,this.renew()),t}}let hn;I.on(\"mmdata\",(e=>e?hn=e:null));const un=(e=!0)=>{e&&Qe.snap(hn.data),Xe.emit(\"update:modelValue\",b([hn.data.rawData])),et.value=Qe.hasPrev,tt.value=Qe.hasNext,Kt()},pn=(e,t)=>{hn.rename(e,t),un()},gn=(e,t)=>{hn.moveChild(e,t),un()},mn=(e,t,n=0)=>{hn.moveSibling(e,t,n),un()},fn=(e,t)=>{const n=hn.add(e,t);return un(),n},vn=e=>{hn.delete(e),un()},bn=e=>{hn.deleteOne(e),un()},xn=e=>{hn.expand(e),un()},yn=e=>{hn.collapse(e),un()},wn=(e,t,n=!1)=>{const a=hn.addSibling(e,t,n);return un(),a},_n=(e,t)=>{const n=hn.addParent(e,t);return un(),n},kn=e=>{hn.changeLeft(e),un()};x.init({fallbackLng:\"zh\",lng:\"zh\",resources:{zh:{translation:{contextmenu:{collapse:\"折叠节点\",expand:\"展开节点\",delete:\"删除节点\",\"delete-one\":\"删除单个节点\",add:\"新建子节点\",\"add-parent\":\"新建父节点\",\"add-sibling\":\"新建兄弟节点\",\"add-sibling-before\":\"在此之前新建兄弟节点\",cut:\"剪切\",copy:\"拷贝\",paste:\"粘贴\",selectall:\"全选\",zoomin:\"放大\",zoomout:\"缩小\",zoomfit:\"缩放至合适大小\"}}},en:{translation:{contextmenu:{collapse:\"collapse\",expand:\"expand\",delete:\"delete\",\"delete-one\":\"delete a single node\",add:\"add child node\",\"add-parent\":\"add parent node\",\"add-sibling\":\"add sibling node\",\"add-sibling-before\":\"add sibling node before\",cut:\"cut\",copy:\"copy\",paste:\"paste\",selectall:\"select all\",zoomin:\"zoom in\",zoomout:\"zoom out\",zoomfit:\"zoom fit\"}}},ptBR:{translation:{contextmenu:{collapse:\"Fechar\",expand:\"Abrir\",delete:\"Excluir\",\"delete-one\":\"Excluir único nó\",add:\"Adicionar nó filho\",\"add-parent\":\"Adicionar nó antes\",\"add-sibling\":\"Adicionar nó abaixo\",\"add-sibling-before\":\"Adicionar nó acima\",cut:\"Recortar\",copy:\"Copiar\",paste:\"Colar\",selectall:\"Selecionar tudo\",zoomin:\"Aproximar\",zoomout:\"Retrair\",zoomfit:\"Centralizar\"}}}}});var $n=y({name:\"contextmenu\",props:{position:{default:{top:0,left:0}},groups:Array},emits:[\"click-item\"],setup(e,n){const a=t(!1),l=w(),o=t(),i=t(),s=_({top:0,left:0});I.on(\"showContextmenu\",(async t=>{if(!o.value||!i.value)return;a.value=!!t,await k();const{offsetWidth:n,offsetHeight:l}=o.value,{offsetWidth:r,offsetHeight:d}=i.value,{top:c,left:h}=e.position;s.top=c+d>l?l-d-8:c,s.left=h+r>n?h-r:h}));const r=()=>a.value=!1;return{style:l,show:a,close:r,onClick:e=>{r(),n.emit(\"click-item\",e)},menuEle:i,containerEle:o,pos:s,i18n:x}}});var Mn={container:\"Contextmenu_container_154ic\",menu:\"Contextmenu_menu_154ic\",disabled:\"Contextmenu_disabled_154ic\"};($n.__cssModules={}).$style=Mn,$n.render=function(e,t,n,a,l,o){return $((S(),B(\"div\",{class:e.style.container,ref:\"containerEle\"},[L(\"div\",{onMousedown:t[1]||(t[1]=(...t)=>e.close&&e.close(...t))},null,32),L(\"div\",{ref:\"menuEle\",id:e.style.menu,style:{top:e.pos.top+\"px\",left:e.pos.left+\"px\"}},[(S(!0),B(z,null,C(e.groups,((t,n)=>(S(),B(\"ul\",{key:n},[(S(!0),B(z,null,C(t,(t=>(S(),B(\"li\",{class:t.disabled?e.style.disabled:\"\",key:t.name,onClick:n=>e.onClick(t.name)},E(e.i18n.t(`contextmenu.${t.name}`)),11,[\"onClick\"])))),128))])))),128))],12,[\"id\"])],2)),[[M,e.show]])};var Bn=y({name:\"Mindmap\",components:{Contextmenu:$n},emits:[\"update:modelValue\"],props:{modelValue:{type:Array,required:!0},xGap:{type:Number,default:Oe},yGap:{type:Number,default:je},branch:{type:Number,default:Ve,validator:e=>e>=1&&e<=6},scaleExtent:{type:Object,default:Pe},sharpCorner:Boolean,centerBtn:Boolean,fitBtn:Boolean,downloadBtn:Boolean,timetravel:Boolean,addNodeBtn:Boolean,edit:Boolean,drag:Boolean,keyboard:Boolean,ctm:Boolean,zoom:Boolean,locale:{type:String,default:\"zh\"}},setup:(e,t)=>(D((()=>x.changeLanguage(e.locale))),D((()=>I.emit(\"scale-extent\",e.scaleExtent))),D((()=>I.emit(\"branch\",e.branch))),D((()=>I.emit(\"sharp-corner\",e.sharpCorner))),D((()=>I.emit(\"gap\",{xGap:e.xGap,yGap:e.yGap}))),D((()=>I.emit(\"mindmap-context\",t))),D((()=>Je.value=e.edit&&e.addNodeBtn)),D((()=>Ze.value.drag=e.drag)),D((()=>Ze.value.edit=e.edit)),N((()=>{if(!(Y.value&&U.value&&F.value&&q.value&&J.value))return;I.emit(\"selection-svg\",a(Y.value)),I.emit(\"selection-g\",a(U.value)),I.emit(\"selection-asstSvg\",a(F.value)),I.emit(\"selection-foreign\",a(q.value)),I.emit(\"mmdata\",new cn(h.cloneDeep(e.modelValue[0]),Oe,je,st)),Ae.value=!1,un();const{svg:t,foreign:n}=R;null==n||n.raise(),J.value&&(Re.observe(J.value),J.value.addEventListener(\"blur\",te),J.value.addEventListener(\"mousedown\",(e=>e.stopPropagation()))),ct(),null==t||t.on(\"mousedown\",(()=>{const e=document.getElementsByClassName(T.selected)[0];null==e||e.classList.remove(T.selected)})),se(e.zoom),re(e.ctm)})),A((()=>[e.branch,Je.value,e.sharpCorner]),(()=>{Kt(),Ae.value=!1})),A((()=>[e.xGap,e.yGap]),(e=>{hn.setBoundingBox(e[0],e[1]),Kt()})),A((()=>[e.drag,e.edit]),(e=>{(e=>{const{g:t}=R;if(!t)return;const n=t.selectAll(`g.${T.text}`);e?n.on(\"mousedown\",Q):n.on(\"mousedown\",null)})(e[0]||e[1]),(e=>{const{g:t}=R;if(!t)return;const n=t.selectAll(`g.node:not(.${T.root}) > g > g.${T.text}`);e?qe(n):n.on(\".drag\",null)})(e[0]),(e=>{const{g:t}=R;if(!J.value||!t)return;const n=t.selectAll(`g.${T.text}`);e?n.on(\"click\",ee):n.on(\"click\",null)})(e[1])})),A((()=>e.zoom),(e=>se(e))),A((()=>e.ctm),(e=>re(e))),{wrapperEle:W,svgEle:Y,gEle:U,style:T,asstSvgEle:F,foreignEle:q,foreignDivEle:J,centerView:dt,fitView:ct,download:pt,menu:ze,contextmenuPos:ge,onClickMenu:ae,next:gt,prev:mt,hasPrev:et,hasNext:tt})});const Ln={ref:\"gEle\"},zn={ref:\"foreignEle\",style:{display:\"none\"}},Cn={ref:\"foreignDivEle\",contenteditable:\"\"};Bn.render=function(e,t,n,a,l,o){const i=V(\"contextmenu\");return S(),B(\"div\",{class:e.style.container},[L(\"div\",{id:e.style[\"svg-wrapper\"],ref:\"wrapperEle\"},[(S(),B(\"svg\",{class:e.style.svg,ref:\"svgEle\"},[L(\"g\",Ln,[(S(),B(\"foreignObject\",zn,[L(\"div\",Cn,null,512)],512))],512)],2))],8,[\"id\"]),(S(),B(\"svg\",{ref:\"asstSvgEle\",class:e.style[\"asst-svg\"]},null,2)),L(\"div\",{class:[e.style[\"button-list\"],e.style[\"right-bottom\"]]},[e.centerBtn?(S(),B(\"button\",{key:0,onClick:t[1]||(t[1]=t=>e.centerView())},[L(\"i\",{class:e.style.gps},null,2)])):P(\"\",!0),e.fitBtn?(S(),B(\"button\",{key:1,onClick:t[2]||(t[2]=t=>e.fitView())},[L(\"i\",{class:e.style.fit},null,2)])):P(\"\",!0),e.downloadBtn?(S(),B(\"button\",{key:2,onClick:t[3]||(t[3]=t=>e.download())},[L(\"i\",{class:e.style.download},null,2)])):P(\"\",!0)],2),e.timetravel?(S(),B(\"div\",{key:0,class:[e.style[\"button-list\"],e.style[\"right-top\"]]},[L(\"button\",{onClick:t[4]||(t[4]=(...t)=>e.prev&&e.prev(...t)),class:{[e.style.disabled]:!e.hasPrev}},[L(\"i\",{class:e.style.prev},null,2)],2),L(\"button\",{onClick:t[5]||(t[5]=(...t)=>e.next&&e.next(...t)),class:{[e.style.disabled]:!e.hasNext}},[L(\"i\",{class:e.style.next},null,2)],2)],2)):P(\"\",!0),e.ctm?(S(),B(i,{key:1,position:e.contextmenuPos,groups:e.menu,onClickItem:e.onClickMenu},null,8,[\"position\",\"groups\",\"onClickItem\"])):P(\"\",!0)],2)};var Sn=y({name:\"App\",components:{Mindmap:Bn},setup(){const e=_({\"center-btn\":{value:!0},\"fit-btn\":{value:!0},timetravel:{value:!0},\"download-btn\":{value:!0},\"add-node-btn\":{value:!0},keyboard:{value:!1,disabled:!0},zoom:{value:!0},drag:{value:!0},edit:{value:!0},contextmenu:{value:!0},\"sharp-corner\":{value:!1},vertical:{value:!1,disabled:!0}}),n=_({branch:{value:4,min:1,max:6},\"x-gap\":{value:84,min:0,max:100},\"y-gap\":{value:18,min:0,max:100}});return{data:t(H),checkboxList:e,rangeList:n,onChange:()=>console.log(\"update:model-value\"),locale:t(\"zh\")}}});const En={class:\"container\"},Dn=L(\"div\",{class:\"left-top\"},[L(\"a\",{href:\"https://github.com/hellowuxin/vue3-mindmap\",target:\"_blank\"},\"GitHub\")],-1),Nn=L(\"div\",{class:\"right-top\"},[L(\"span\",null,\"Props\")],-1),An={class:\"right-bottom\"},Vn=L(\"label\",{for:\"language-select\"},\"Language\",-1),Pn=L(\"option\",{value:\"zh\"},\"简体中文\",-1),Gn=L(\"option\",{value:\"en\"},\"English\",-1),jn=L(\"option\",{value:\"ptBR\"},\"Brazilian Portuguese\",-1);Sn.render=function(e,t,n,a,l,o){const i=V(\"mindmap\");return S(),B(\"div\",En,[Dn,Nn,L(i,{class:\"left-bottom\",modelValue:e.data,\"onUpdate:modelValue\":[t[1]||(t[1]=t=>e.data=t),e.onChange],branch:e.rangeList.branch.value,\"x-gap\":e.rangeList[\"x-gap\"].value,\"y-gap\":e.rangeList[\"y-gap\"].value,zoom:e.checkboxList.zoom.value,\"fit-btn\":e.checkboxList[\"fit-btn\"].value,\"center-btn\":e.checkboxList[\"center-btn\"].value,\"download-btn\":e.checkboxList[\"download-btn\"].value,drag:e.checkboxList.drag.value,edit:e.checkboxList.edit.value,\"add-node-btn\":e.checkboxList[\"add-node-btn\"].value,\"sharp-corner\":e.checkboxList[\"sharp-corner\"].value,ctm:e.checkboxList.contextmenu.value,timetravel:e.checkboxList.timetravel.value,locale:e.locale},null,8,[\"modelValue\",\"branch\",\"x-gap\",\"y-gap\",\"zoom\",\"fit-btn\",\"center-btn\",\"download-btn\",\"drag\",\"edit\",\"add-node-btn\",\"sharp-corner\",\"ctm\",\"timetravel\",\"onUpdate:modelValue\",\"locale\"]),L(\"div\",An,[L(\"div\",null,[Vn,$(L(\"select\",{id:\"language-select\",\"onUpdate:modelValue\":t[2]||(t[2]=t=>e.locale=t)},[Pn,Gn,jn],512),[[G,e.locale]])]),(S(!0),B(z,null,C(e.checkboxList,((e,t)=>(S(),B(\"div\",{key:t},[$(L(\"input\",{type:\"checkbox\",name:t.toString(),\"onUpdate:modelValue\":t=>e.value=t,disabled:e.disabled},null,8,[\"name\",\"onUpdate:modelValue\",\"disabled\"]),[[j,e.value]]),L(\"label\",{for:t.toString()},E(t),9,[\"for\"])])))),128)),(S(!0),B(z,null,C(e.rangeList,((e,t)=>(S(),B(\"div\",{key:t},[$(L(\"input\",{type:\"range\",name:t,\"onUpdate:modelValue\":t=>e.value=t,min:e.min,max:e.max},null,8,[\"name\",\"onUpdate:modelValue\",\"min\",\"max\"]),[[O,e.value,void 0,{number:!0}]]),L(\"label\",{for:t},E(t)+\"（\"+E(e.value)+\"）\",9,[\"for\"])])))),128))])])},K(Sn).mount(\"#app\");\n"
  },
  {
    "path": "docs/assets/index.55b3b50b.css",
    "content": ".Mindmap_container_fgvb6{position:relative;height:100%}.Mindmap_container_fgvb6 svg text{white-space:pre}.Mindmap_container_fgvb6 #Mindmap_svg-wrapper_fgvb6{width:100%;height:100%}.Mindmap_container_fgvb6 .Mindmap_asst-svg_fgvb6{position:absolute;width:0;height:0}.Mindmap_svg_fgvb6{display:block;width:100%;height:100%;background-color:#eeeef3}.Mindmap_svg_fgvb6 path{fill:none;stroke-linecap:round}.Mindmap_svg_fgvb6 text{fill:#4b4b4b;cursor:default}.Mindmap_svg_fgvb6 foreignObject{background-color:#fff;border:1px solid #aaa}.Mindmap_svg_fgvb6 foreignObject div{display:inline-block;outline:0;width:max-content;min-width:22px;padding:1px;white-space:pre}.Mindmap_svg_fgvb6 .Mindmap_trigger_fgvb6{fill:transparent}.Mindmap_svg_fgvb6.Mindmap_dragging_fgvb6 .Mindmap_add-btn_fgvb6{visibility:hidden}.Mindmap_svg_fgvb6 .Mindmap_add-btn_fgvb6{opacity:0}.Mindmap_svg_fgvb6 .Mindmap_add-btn_fgvb6.Mindmap_hidden_fgvb6{visibility:hidden}.Mindmap_svg_fgvb6 .Mindmap_add-btn_fgvb6 rect{stroke-width:1;stroke:grey;fill:#fff}.Mindmap_svg_fgvb6 .Mindmap_add-btn_fgvb6 path{fill:#8685ff}.Mindmap_svg_fgvb6 .Mindmap_expand-btn_fgvb6{visibility:hidden}.Mindmap_svg_fgvb6 .Mindmap_expand-btn_fgvb6:hover rect{fill:#fff}.Mindmap_svg_fgvb6 .Mindmap_expand-btn_fgvb6:hover circle{fill:currentColor}.Mindmap_svg_fgvb6 .Mindmap_text_fgvb6>rect{opacity:0;fill:rgba(0,0,255,.15);stroke-width:1;stroke:#fff}.Mindmap_svg_fgvb6 .Mindmap_selected_fgvb6>.Mindmap_content_fgvb6>.Mindmap_text_fgvb6>rect{opacity:1}.Mindmap_svg_fgvb6 .Mindmap_root_fgvb6.Mindmap_selected_fgvb6>.Mindmap_content_fgvb6>.Mindmap_text_fgvb6>rect{stroke-width:3;stroke:rgba(0,0,255,.15)}.Mindmap_svg_fgvb6 .Mindmap_edited_fgvb6>.Mindmap_content_fgvb6>.Mindmap_text_fgvb6{opacity:0}.Mindmap_svg_fgvb6 .Mindmap_outline_fgvb6>.Mindmap_content_fgvb6>.Mindmap_text_fgvb6>rect{opacity:1;fill:transparent;stroke-width:3;stroke:rgba(0,0,255,.15)}.Mindmap_svg_fgvb6 .Mindmap_root_fgvb6>.Mindmap_content_fgvb6>.Mindmap_text_fgvb6>rect{opacity:1;fill:#fff}.Mindmap_svg_fgvb6 .Mindmap_collapse_fgvb6>.Mindmap_content_fgvb6>.Mindmap_expand-btn_fgvb6{visibility:visible}.Mindmap_button-list_fgvb6{position:absolute}.Mindmap_button-list_fgvb6.Mindmap_right-bottom_fgvb6{bottom:0;right:0}.Mindmap_button-list_fgvb6.Mindmap_right-top_fgvb6{top:0;right:0;display:flex}.Mindmap_button-list_fgvb6 button{position:relative;cursor:pointer;width:36px;height:36px;border-radius:50%;background-color:transparent;display:flex;align-items:center;justify-content:center;padding:0;border:0;color:#3f51b5}.Mindmap_button-list_fgvb6 button::before{background-color:currentColor;border-radius:inherit;content:\"\";opacity:0;position:absolute;left:0;right:0;top:0;bottom:0;transition:opacity .2s cubic-bezier(.4,0,.6,1)}.Mindmap_button-list_fgvb6 button:hover::before{opacity:.1}.Mindmap_button-list_fgvb6 button.Mindmap_disabled_fgvb6{pointer-events:none}.Mindmap_button-list_fgvb6 button.Mindmap_disabled_fgvb6 i{filter:invert(85%) sepia(20%) saturate(0) hue-rotate(125deg) brightness(86%) contrast(93%)}.Mindmap_button-list_fgvb6 button i{filter:invert(25%) sepia(40%) saturate(5050%) hue-rotate(227deg) brightness(78%) contrast(74%);width:24px;height:24px}.Mindmap_button-list_fgvb6 button i.Mindmap_gps_fgvb6{background-image:url(/vue3-mindmap/icons/24px/crosshairs-gps.png)}.Mindmap_button-list_fgvb6 button i.Mindmap_fit_fgvb6{background-image:url(/vue3-mindmap/icons/24px/fit-to-page-outline.png)}.Mindmap_button-list_fgvb6 button i.Mindmap_download_fgvb6{background-image:url(/vue3-mindmap/icons/24px/download.png)}.Mindmap_button-list_fgvb6 button i.Mindmap_prev_fgvb6{background-image:url(/vue3-mindmap/icons/24px/prev.png)}.Mindmap_button-list_fgvb6 button i.Mindmap_next_fgvb6{background-image:url(/vue3-mindmap/icons/24px/next.png)}.Mindmap_button-list_fgvb6 button i.Mindmap_close_fgvb6{background-image:url(/vue3-mindmap/icons/24px/close.png)}.Contextmenu_container_154ic{position:absolute;left:0;top:0;right:0;bottom:0}.Contextmenu_container_154ic>div:first-child{width:100%;height:100%}#Contextmenu_menu_154ic{position:absolute;border-radius:4px;box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);padding:4px 4px;background-color:#eae9ed;color:#3a353d;font-weight:700;font-size:small;white-space:nowrap}#Contextmenu_menu_154ic ul{list-style-type:none;margin:0;padding:0;border-radius:inherit}#Contextmenu_menu_154ic ul:not(:last-child)::after{display:block;content:\"\";background-color:#cbcbcb;height:1px;margin:4px 10px}#Contextmenu_menu_154ic ul li{position:relative;padding:2px 10px;cursor:pointer;border-radius:inherit}#Contextmenu_menu_154ic ul li::before{border-radius:inherit;background-color:#000;bottom:0;content:\"\";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:.3s cubic-bezier(.25,.8,.5,1)}#Contextmenu_menu_154ic ul li:not(.Contextmenu_disabled_154ic):hover::before{opacity:.09}#Contextmenu_menu_154ic ul li.Contextmenu_disabled_154ic{color:#aeb2b5;pointer-events:none}.container{width:100%;height:calc(100vh - 16px);border-radius:4px;border:thin solid rgba(0,0,0,.12);overflow:hidden;background-color:rgba(0,0,0,.12);display:grid;grid-template-columns:75% 1px 25%;grid-template-rows:48px 1px auto}.right-top{grid-column:3/4}.left-bottom{grid-row:3/4}.right-bottom{grid-column:3/4;grid-row:3/4;background-color:#fff;padding:12px;display:flex;flex-direction:column;gap:10px;overflow:scroll}.right-bottom div{display:flex;align-items:center;gap:5px}.left-top,.right-top{background-color:#eee;padding:0 12px;display:flex;align-items:center}input[type=checkbox]{cursor:pointer}input:disabled{cursor:not-allowed}"
  },
  {
    "path": "docs/assets/vendor.5fc36a9d.js",
    "content": "function A(A,t){const e=Object.create(null),n=A.split(\",\");for(let r=0;r<n.length;r++)e[n[r]]=!0;return t?A=>!!e[A.toLowerCase()]:A=>!!e[A]}const t=A(\"Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt\"),e=A(\"itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly\");function n(A){if(E(A)){const t={};for(let e=0;e<A.length;e++){const r=A[e],o=n(H(r)?i(r):r);if(o)for(const A in o)t[A]=o[A]}return t}if(N(A))return A}const r=/;(?![^(]*\\))/g,o=/:(.+)/;function i(A){const t={};return A.split(r).forEach((A=>{if(A){const e=A.split(o);e.length>1&&(t[e[0].trim()]=e[1].trim())}})),t}function s(A){let t=\"\";if(H(A))t=A;else if(E(A))for(let e=0;e<A.length;e++){const n=s(A[e]);n&&(t+=n+\" \")}else if(N(A))for(const e in A)A[e]&&(t+=e+\" \");return t.trim()}function a(A,t){if(A===t)return!0;let e=m(A),n=m(t);if(e||n)return!(!e||!n)&&A.getTime()===t.getTime();if(e=E(A),n=E(t),e||n)return!(!e||!n)&&function(A,t){if(A.length!==t.length)return!1;let e=!0;for(let n=0;e&&n<A.length;n++)e=a(A[n],t[n]);return e}(A,t);if(e=N(A),n=N(t),e||n){if(!e||!n)return!1;if(Object.keys(A).length!==Object.keys(t).length)return!1;for(const e in A){const n=A.hasOwnProperty(e),r=t.hasOwnProperty(e);if(n&&!r||!n&&r||!a(A[e],t[e]))return!1}}return String(A)===String(t)}function u(A,t){return A.findIndex((A=>a(A,t)))}const c=A=>null==A?\"\":N(A)?JSON.stringify(A,l,2):String(A),l=(A,t)=>y(t)?{[`Map(${t.size})`]:[...t.entries()].reduce(((A,[t,e])=>(A[`${t} =>`]=e,A)),{})}:F(t)?{[`Set(${t.size})`]:[...t.values()]}:!N(t)||E(t)||T(t)?t:String(t),f={},h=[],B=()=>{},p=()=>!1,g=/^on[^a-z]/,d=A=>g.test(A),w=A=>A.startsWith(\"onUpdate:\"),Q=Object.assign,v=(A,t)=>{const e=A.indexOf(t);e>-1&&A.splice(e,1)},U=Object.prototype.hasOwnProperty,C=(A,t)=>U.call(A,t),E=Array.isArray,y=A=>\"[object Map]\"===O(A),F=A=>\"[object Set]\"===O(A),m=A=>A instanceof Date,_=A=>\"function\"==typeof A,H=A=>\"string\"==typeof A,b=A=>\"symbol\"==typeof A,N=A=>null!==A&&\"object\"==typeof A,K=A=>N(A)&&_(A.then)&&_(A.catch),I=Object.prototype.toString,O=A=>I.call(A),T=A=>\"[object Object]\"===O(A),x=A=>H(A)&&\"NaN\"!==A&&\"-\"!==A[0]&&\"\"+parseInt(A,10)===A,S=A(\",key,ref,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted\"),R=A=>{const t=Object.create(null);return e=>t[e]||(t[e]=A(e))},L=/-(\\w)/g,M=R((A=>A.replace(L,((A,t)=>t?t.toUpperCase():\"\")))),D=/\\B([A-Z])/g,k=R((A=>A.replace(D,\"-$1\").toLowerCase())),P=R((A=>A.charAt(0).toUpperCase()+A.slice(1))),z=R((A=>A?`on${P(A)}`:\"\")),V=(A,t)=>A!==t&&(A==A||t==t),X=(A,t)=>{for(let e=0;e<A.length;e++)A[e](t)},J=(A,t,e)=>{Object.defineProperty(A,t,{configurable:!0,enumerable:!1,value:e})},G=A=>{const t=parseFloat(A);return isNaN(t)?A:t},j=new WeakMap,W=[];let Y;const q=Symbol(\"\"),$=Symbol(\"\");function Z(A,t=f){(function(A){return A&&!0===A._isEffect})(A)&&(A=A.raw);const e=function(A,t){const e=function(){if(!e.active)return t.scheduler?void 0:A();if(!W.includes(e)){eA(e);try{return rA.push(nA),nA=!0,W.push(e),Y=e,A()}finally{W.pop(),iA(),Y=W[W.length-1]}}};return e.id=tA++,e.allowRecurse=!!t.allowRecurse,e._isEffect=!0,e.active=!0,e.raw=A,e.deps=[],e.options=t,e}(A,t);return t.lazy||e(),e}function AA(A){A.active&&(eA(A),A.options.onStop&&A.options.onStop(),A.active=!1)}let tA=0;function eA(A){const{deps:t}=A;if(t.length){for(let e=0;e<t.length;e++)t[e].delete(A);t.length=0}}let nA=!0;const rA=[];function oA(){rA.push(nA),nA=!1}function iA(){const A=rA.pop();nA=void 0===A||A}function sA(A,t,e){if(!nA||void 0===Y)return;let n=j.get(A);n||j.set(A,n=new Map);let r=n.get(e);r||n.set(e,r=new Set),r.has(Y)||(r.add(Y),Y.deps.push(r))}function aA(A,t,e,n,r,o){const i=j.get(A);if(!i)return;const s=new Set,a=A=>{A&&A.forEach((A=>{(A!==Y||A.allowRecurse)&&s.add(A)}))};if(\"clear\"===t)i.forEach(a);else if(\"length\"===e&&E(A))i.forEach(((A,t)=>{(\"length\"===t||t>=n)&&a(A)}));else switch(void 0!==e&&a(i.get(e)),t){case\"add\":E(A)?x(e)&&a(i.get(\"length\")):(a(i.get(q)),y(A)&&a(i.get($)));break;case\"delete\":E(A)||(a(i.get(q)),y(A)&&a(i.get($)));break;case\"set\":y(A)&&a(i.get(q))}s.forEach((A=>{A.options.scheduler?A.options.scheduler(A):A()}))}const uA=A(\"__proto__,__v_isRef,__isVue\"),cA=new Set(Object.getOwnPropertyNames(Symbol).map((A=>Symbol[A])).filter(b)),lA=gA(),fA=gA(!1,!0),hA=gA(!0),BA=gA(!0,!0),pA={};function gA(A=!1,t=!1){return function(e,n,r){if(\"__v_isReactive\"===n)return!A;if(\"__v_isReadonly\"===n)return A;if(\"__v_raw\"===n&&r===(A?t?JA:XA:t?VA:zA).get(e))return e;const o=E(e);if(!A&&o&&C(pA,n))return Reflect.get(pA,n,r);const i=Reflect.get(e,n,r);if(b(n)?cA.has(n):uA(n))return i;if(A||sA(e,0,n),t)return i;if(et(i)){return!o||!x(n)?i.value:i}return N(i)?A?WA(i):jA(i):i}}[\"includes\",\"indexOf\",\"lastIndexOf\"].forEach((A=>{const t=Array.prototype[A];pA[A]=function(...A){const e=At(this);for(let t=0,r=this.length;t<r;t++)sA(e,0,t+\"\");const n=t.apply(e,A);return-1===n||!1===n?t.apply(e,A.map(At)):n}})),[\"push\",\"pop\",\"shift\",\"unshift\",\"splice\"].forEach((A=>{const t=Array.prototype[A];pA[A]=function(...A){oA();const e=t.apply(this,A);return iA(),e}}));function dA(A=!1){return function(t,e,n,r){let o=t[e];if(!A&&(n=At(n),o=At(o),!E(t)&&et(o)&&!et(n)))return o.value=n,!0;const i=E(t)&&x(e)?Number(e)<t.length:C(t,e),s=Reflect.set(t,e,n,r);return t===At(r)&&(i?V(n,o)&&aA(t,\"set\",e,n):aA(t,\"add\",e,n)),s}}const wA={get:lA,set:dA(),deleteProperty:function(A,t){const e=C(A,t);A[t];const n=Reflect.deleteProperty(A,t);return n&&e&&aA(A,\"delete\",t,void 0),n},has:function(A,t){const e=Reflect.has(A,t);return b(t)&&cA.has(t)||sA(A,0,t),e},ownKeys:function(A){return sA(A,0,E(A)?\"length\":q),Reflect.ownKeys(A)}},QA={get:hA,set:(A,t)=>!0,deleteProperty:(A,t)=>!0},vA=Q({},wA,{get:fA,set:dA(!0)});Q({},QA,{get:BA});const UA=A=>N(A)?jA(A):A,CA=A=>N(A)?WA(A):A,EA=A=>A,yA=A=>Reflect.getPrototypeOf(A);function FA(A,t,e=!1,n=!1){const r=At(A=A.__v_raw),o=At(t);t!==o&&!e&&sA(r,0,t),!e&&sA(r,0,o);const{has:i}=yA(r),s=n?EA:e?CA:UA;return i.call(r,t)?s(A.get(t)):i.call(r,o)?s(A.get(o)):void 0}function mA(A,t=!1){const e=this.__v_raw,n=At(e),r=At(A);return A!==r&&!t&&sA(n,0,A),!t&&sA(n,0,r),A===r?e.has(A):e.has(A)||e.has(r)}function _A(A,t=!1){return A=A.__v_raw,!t&&sA(At(A),0,q),Reflect.get(A,\"size\",A)}function HA(A){A=At(A);const t=At(this);return yA(t).has.call(t,A)||(t.add(A),aA(t,\"add\",A,A)),this}function bA(A,t){t=At(t);const e=At(this),{has:n,get:r}=yA(e);let o=n.call(e,A);o||(A=At(A),o=n.call(e,A));const i=r.call(e,A);return e.set(A,t),o?V(t,i)&&aA(e,\"set\",A,t):aA(e,\"add\",A,t),this}function NA(A){const t=At(this),{has:e,get:n}=yA(t);let r=e.call(t,A);r||(A=At(A),r=e.call(t,A)),n&&n.call(t,A);const o=t.delete(A);return r&&aA(t,\"delete\",A,void 0),o}function KA(){const A=At(this),t=0!==A.size,e=A.clear();return t&&aA(A,\"clear\",void 0,void 0),e}function IA(A,t){return function(e,n){const r=this,o=r.__v_raw,i=At(o),s=t?EA:A?CA:UA;return!A&&sA(i,0,q),o.forEach(((A,t)=>e.call(n,s(A),s(t),r)))}}function OA(A,t,e){return function(...n){const r=this.__v_raw,o=At(r),i=y(o),s=\"entries\"===A||A===Symbol.iterator&&i,a=\"keys\"===A&&i,u=r[A](...n),c=e?EA:t?CA:UA;return!t&&sA(o,0,a?$:q),{next(){const{value:A,done:t}=u.next();return t?{value:A,done:t}:{value:s?[c(A[0]),c(A[1])]:c(A),done:t}},[Symbol.iterator](){return this}}}}function TA(A){return function(...t){return\"delete\"!==A&&this}}const xA={get(A){return FA(this,A)},get size(){return _A(this)},has:mA,add:HA,set:bA,delete:NA,clear:KA,forEach:IA(!1,!1)},SA={get(A){return FA(this,A,!1,!0)},get size(){return _A(this)},has:mA,add:HA,set:bA,delete:NA,clear:KA,forEach:IA(!1,!0)},RA={get(A){return FA(this,A,!0)},get size(){return _A(this,!0)},has(A){return mA.call(this,A,!0)},add:TA(\"add\"),set:TA(\"set\"),delete:TA(\"delete\"),clear:TA(\"clear\"),forEach:IA(!0,!1)},LA={get(A){return FA(this,A,!0,!0)},get size(){return _A(this,!0)},has(A){return mA.call(this,A,!0)},add:TA(\"add\"),set:TA(\"set\"),delete:TA(\"delete\"),clear:TA(\"clear\"),forEach:IA(!0,!0)};function MA(A,t){const e=t?A?LA:SA:A?RA:xA;return(t,n,r)=>\"__v_isReactive\"===n?!A:\"__v_isReadonly\"===n?A:\"__v_raw\"===n?t:Reflect.get(C(e,n)&&n in t?e:t,n,r)}[\"keys\",\"values\",\"entries\",Symbol.iterator].forEach((A=>{xA[A]=OA(A,!1,!1),RA[A]=OA(A,!0,!1),SA[A]=OA(A,!1,!0),LA[A]=OA(A,!0,!0)}));const DA={get:MA(!1,!1)},kA={get:MA(!1,!0)},PA={get:MA(!0,!1)},zA=new WeakMap,VA=new WeakMap,XA=new WeakMap,JA=new WeakMap;function GA(A){return A.__v_skip||!Object.isExtensible(A)?0:function(A){switch(A){case\"Object\":case\"Array\":return 1;case\"Map\":case\"Set\":case\"WeakMap\":case\"WeakSet\":return 2;default:return 0}}((A=>O(A).slice(8,-1))(A))}function jA(A){return A&&A.__v_isReadonly?A:YA(A,!1,wA,DA,zA)}function WA(A){return YA(A,!0,QA,PA,XA)}function YA(A,t,e,n,r){if(!N(A))return A;if(A.__v_raw&&(!t||!A.__v_isReactive))return A;const o=r.get(A);if(o)return o;const i=GA(A);if(0===i)return A;const s=new Proxy(A,2===i?n:e);return r.set(A,s),s}function qA(A){return $A(A)?qA(A.__v_raw):!(!A||!A.__v_isReactive)}function $A(A){return!(!A||!A.__v_isReadonly)}function ZA(A){return qA(A)||$A(A)}function At(A){return A&&At(A.__v_raw)||A}const tt=A=>N(A)?jA(A):A;function et(A){return Boolean(A&&!0===A.__v_isRef)}function nt(A){return function(A,t=!1){if(et(A))return A;return new rt(A,t)}(A)}class rt{constructor(A,t=!1){this._rawValue=A,this._shallow=t,this.__v_isRef=!0,this._value=t?A:tt(A)}get value(){return sA(At(this),0,\"value\"),this._value}set value(A){V(At(A),this._rawValue)&&(this._rawValue=A,this._value=this._shallow?A:tt(A),aA(At(this),\"set\",\"value\",A))}}const ot={get:(A,t,e)=>{return et(n=Reflect.get(A,t,e))?n.value:n;var n},set:(A,t,e,n)=>{const r=A[t];return et(r)&&!et(e)?(r.value=e,!0):Reflect.set(A,t,e,n)}};function it(A){return qA(A)?A:new Proxy(A,ot)}class st{constructor(A,t){this._object=A,this._key=t,this.__v_isRef=!0}get value(){return this._object[this._key]}set value(A){this._object[this._key]=A}}class at{constructor(A,t,e){this._setter=t,this._dirty=!0,this.__v_isRef=!0,this.effect=Z(A,{lazy:!0,scheduler:()=>{this._dirty||(this._dirty=!0,aA(At(this),\"set\",\"value\"))}}),this.__v_isReadonly=e}get value(){const A=At(this);return A._dirty&&(A._value=this.effect(),A._dirty=!1),sA(A,0,\"value\"),A._value}set value(A){this._setter(A)}}function ut(A,t,e,n){let r;try{r=n?A(...n):A()}catch(o){lt(o,t,e)}return r}function ct(A,t,e,n){if(_(A)){const r=ut(A,t,e,n);return r&&K(r)&&r.catch((A=>{lt(A,t,e)})),r}const r=[];for(let o=0;o<A.length;o++)r.push(ct(A[o],t,e,n));return r}function lt(A,t,e,n=!0){t&&t.vnode;if(t){let n=t.parent;const r=t.proxy,o=e;for(;n;){const t=n.ec;if(t)for(let e=0;e<t.length;e++)if(!1===t[e](A,r,o))return;n=n.parent}const i=t.appContext.config.errorHandler;if(i)return void ut(i,null,10,[A,r,o])}!function(A,t,e,n=!0){console.error(A)}(A,0,0,n)}let ft=!1,ht=!1;const Bt=[];let pt=0;const gt=[];let dt=null,wt=0;const Qt=[];let vt=null,Ut=0;const Ct=Promise.resolve();let Et=null,yt=null;function Ft(A){const t=Et||Ct;return A?t.then(this?A.bind(this):A):t}function mt(A){if(!(Bt.length&&Bt.includes(A,ft&&A.allowRecurse?pt+1:pt)||A===yt)){const t=function(A){let t=pt+1,e=Bt.length;const n=Kt(A);for(;t<e;){const A=t+e>>>1;Kt(Bt[A])<n?t=A+1:e=A}return t}(A);t>-1?Bt.splice(t,0,A):Bt.push(A),_t()}}function _t(){ft||ht||(ht=!0,Et=Ct.then(It))}function Ht(A,t,e,n){E(A)?e.push(...A):t&&t.includes(A,A.allowRecurse?n+1:n)||e.push(A),_t()}function bt(A,t=null){if(gt.length){for(yt=t,dt=[...new Set(gt)],gt.length=0,wt=0;wt<dt.length;wt++)dt[wt]();dt=null,wt=0,yt=null,bt(A,t)}}function Nt(A){if(Qt.length){const A=[...new Set(Qt)];if(Qt.length=0,vt)return void vt.push(...A);for(vt=A,vt.sort(((A,t)=>Kt(A)-Kt(t))),Ut=0;Ut<vt.length;Ut++)vt[Ut]();vt=null,Ut=0}}const Kt=A=>null==A.id?1/0:A.id;function It(A){ht=!1,ft=!0,bt(A),Bt.sort(((A,t)=>Kt(A)-Kt(t)));try{for(pt=0;pt<Bt.length;pt++){const A=Bt[pt];A&&ut(A,null,14)}}finally{pt=0,Bt.length=0,Nt(),ft=!1,Et=null,(Bt.length||Qt.length)&&It(A)}}function Ot(A,t,...e){const n=A.vnode.props||f;let r=e;const o=t.startsWith(\"update:\"),i=o&&t.slice(7);if(i&&i in n){const A=`${\"modelValue\"===i?\"model\":i}Modifiers`,{number:t,trim:o}=n[A]||f;o?r=e.map((A=>A.trim())):t&&(r=e.map(G))}let s,a=n[s=z(t)]||n[s=z(M(t))];!a&&o&&(a=n[s=z(k(t))]),a&&ct(a,A,6,r);const u=n[s+\"Once\"];if(u){if(A.emitted){if(A.emitted[s])return}else(A.emitted={})[s]=!0;ct(u,A,6,r)}}function Tt(A,t,e=!1){if(!t.deopt&&void 0!==A.__emits)return A.__emits;const n=A.emits;let r={},o=!1;if(!_(A)){const n=A=>{const e=Tt(A,t,!0);e&&(o=!0,Q(r,e))};!e&&t.mixins.length&&t.mixins.forEach(n),A.extends&&n(A.extends),A.mixins&&A.mixins.forEach(n)}return n||o?(E(n)?n.forEach((A=>r[A]=null)):Q(r,n),A.__emits=r):A.__emits=null}function xt(A,t){return!(!A||!d(t))&&(t=t.slice(2).replace(/Once$/,\"\"),C(A,t[0].toLowerCase()+t.slice(1))||C(A,k(t))||C(A,t))}let St=0;const Rt=A=>St+=A;let Lt=null,Mt=null;function Dt(A){const t=Lt;return Lt=A,Mt=A&&A.type.__scopeId||null,t}function kt(A){const{type:t,vnode:e,proxy:n,withProxy:r,props:o,propsOptions:[i],slots:s,attrs:a,emit:u,render:c,renderCache:l,data:f,setupState:h,ctx:B}=A;let p;const g=Dt(A);try{let A;if(4&e.shapeFlag){const t=r||n;p=rn(c.call(t,t,l,o,h,f,B)),A=a}else{const e=t;0,p=rn(e.length>1?e(o,{attrs:a,slots:s,emit:u}):e(o,null)),A=t.props?a:zt(a)}let g=p;if(!1!==t.inheritAttrs&&A){const t=Object.keys(A),{shapeFlag:e}=g;t.length&&(1&e||6&e)&&(i&&t.some(w)&&(A=Vt(A,i)),g=tn(g,A))}e.dirs&&(g.dirs=g.dirs?g.dirs.concat(e.dirs):e.dirs),e.transition&&(g.transition=e.transition),p=g}catch(d){Ve.length=0,lt(d,A,1),p=An(Pe)}return Dt(g),p}function Pt(A){let t;for(let e=0;e<A.length;e++){const n=A[e];if(!We(n))return;if(n.type!==Pe||\"v-if\"===n.children){if(t)return;t=n}}return t}const zt=A=>{let t;for(const e in A)(\"class\"===e||\"style\"===e||d(e))&&((t||(t={}))[e]=A[e]);return t},Vt=(A,t)=>{const e={};for(const n in A)w(n)&&n.slice(9)in t||(e[n]=A[n]);return e};function Xt(A,t,e){const n=Object.keys(t);if(n.length!==Object.keys(A).length)return!0;for(let r=0;r<n.length;r++){const o=n[r];if(t[o]!==A[o]&&!xt(e,o))return!0}return!1}function Jt(A){if(_(A)&&(A=A()),E(A)){A=Pt(A)}return rn(A)}function Gt(A,t,e,n=!1){const r={},o={};J(o,qe,1),A.propsDefaults=Object.create(null),jt(A,t,r,o),e?A.props=n?r:YA(r,!1,vA,kA,VA):A.type.props?A.props=r:A.props=o,A.attrs=o}function jt(A,t,e,n){const[r,o]=A.propsOptions;if(t)for(const i in t){const o=t[i];if(S(i))continue;let s;r&&C(r,s=M(i))?e[s]=o:xt(A.emitsOptions,i)||(n[i]=o)}if(o){const t=At(e);for(let n=0;n<o.length;n++){const i=o[n];e[i]=Wt(r,t,i,t[i],A)}}}function Wt(A,t,e,n,r){const o=A[e];if(null!=o){const A=C(o,\"default\");if(A&&void 0===n){const A=o.default;if(o.type!==Function&&_(A)){const{propsDefaults:o}=r;e in o?n=o[e]:(yn(r),n=o[e]=A(t),yn(null))}else n=A}o[0]&&(C(t,e)||A?!o[1]||\"\"!==n&&n!==k(e)||(n=!0):n=!1)}return n}function Yt(A,t,e=!1){if(!t.deopt&&A.__props)return A.__props;const n=A.props,r={},o=[];let i=!1;if(!_(A)){const n=A=>{i=!0;const[e,n]=Yt(A,t,!0);Q(r,e),n&&o.push(...n)};!e&&t.mixins.length&&t.mixins.forEach(n),A.extends&&n(A.extends),A.mixins&&A.mixins.forEach(n)}if(!n&&!i)return A.__props=h;if(E(n))for(let s=0;s<n.length;s++){const A=M(n[s]);qt(A)&&(r[A]=f)}else if(n)for(const s in n){const A=M(s);if(qt(A)){const t=n[s],e=r[A]=E(t)||_(t)?{type:t}:t;if(e){const t=Ae(Boolean,e.type),n=Ae(String,e.type);e[0]=t>-1,e[1]=n<0||t<n,(t>-1||C(e,\"default\"))&&o.push(A)}}}return A.__props=[r,o]}function qt(A){return\"$\"!==A[0]}function $t(A){const t=A&&A.toString().match(/^\\s*function (\\w+)/);return t?t[1]:\"\"}function Zt(A,t){return $t(A)===$t(t)}function Ae(A,t){return E(t)?t.findIndex((t=>Zt(t,A))):_(t)&&Zt(t,A)?0:-1}function te(A,t,e=En,n=!1){if(e){const r=e[A]||(e[A]=[]),o=t.__weh||(t.__weh=(...n)=>{if(e.isUnmounted)return;oA(),yn(e);const r=ct(t,e,A,n);return yn(null),iA(),r});return n?r.unshift(o):r.push(o),o}}const ee=A=>(t,e=En)=>!mn&&te(A,t,e),ne=ee(\"bm\"),re=ee(\"m\"),oe=ee(\"bu\"),ie=ee(\"u\"),se=ee(\"bum\"),ae=ee(\"um\"),ue=ee(\"rtg\"),ce=ee(\"rtc\");function le(A,t){return Be(A,null,t)}const fe={};function he(A,t,e){return Be(A,t,e)}function Be(A,t,{immediate:e,deep:n,flush:r,onTrack:o,onTrigger:i}=f,s=En){let a,u,c=!1;if(et(A)?(a=()=>A.value,c=!!A._shallow):qA(A)?(a=()=>A,n=!0):a=E(A)?()=>A.map((A=>et(A)?A.value:qA(A)?ge(A):_(A)?ut(A,s,2,[s&&s.proxy]):void 0)):_(A)?t?()=>ut(A,s,2,[s&&s.proxy]):()=>{if(!s||!s.isUnmounted)return u&&u(),ct(A,s,3,[l])}:B,t&&n){const A=a;a=()=>ge(A())}let l=A=>{u=d.options.onStop=()=>{ut(A,s,4)}},h=E(A)?[]:fe;const p=()=>{if(d.active)if(t){const A=d();(n||c||V(A,h))&&(u&&u(),ct(t,s,3,[A,h===fe?void 0:h,l]),h=A)}else d()};let g;p.allowRecurse=!!t,g=\"sync\"===r?p:\"post\"===r?()=>Ie(p,s&&s.suspense):()=>{!s||s.isMounted?function(A){Ht(A,dt,gt,wt)}(p):p()};const d=Z(a,{lazy:!0,onTrack:o,onTrigger:i,scheduler:g});return bn(d,s),t?e?p():h=d():\"post\"===r?Ie(d,s&&s.suspense):d(),()=>{AA(d),s&&v(s.effects,d)}}function pe(A,t,e){const n=this.proxy;return Be(H(A)?()=>n[A]:A.bind(n),t.bind(n),e,this)}function ge(A,t=new Set){if(!N(A)||t.has(A))return A;if(t.add(A),et(A))ge(A.value,t);else if(E(A))for(let e=0;e<A.length;e++)ge(A[e],t);else if(F(A)||y(A))A.forEach((A=>{ge(A,t)}));else for(const e in A)ge(A[e],t);return A}const de=A=>A.type.__isKeepAlive;function we(A,t,e=En){const n=A.__wdc||(A.__wdc=()=>{let t=e;for(;t;){if(t.isDeactivated)return;t=t.parent}A()});if(te(t,n,e),e){let A=e.parent;for(;A&&A.parent;)de(A.parent.vnode)&&Qe(n,t,e,A),A=A.parent}}function Qe(A,t,e,n){const r=te(t,A,n,!0);ae((()=>{v(n[t],r)}),e)}const ve=A=>\"_\"===A[0]||\"$stable\"===A,Ue=A=>E(A)?A.map(rn):[rn(A)],Ce=(A,t,e)=>function(A,t=Lt){if(!t)return A;const e=(...e)=>{St||Je(!0);const n=Dt(t),r=A(...e);return Dt(n),St||Ge(),r};return e._c=!0,e}((A=>Ue(t(A))),e),Ee=(A,t)=>{const e=A._ctx;for(const n in A){if(ve(n))continue;const r=A[n];if(_(r))t[n]=Ce(0,r,e);else if(null!=r){const A=Ue(r);t[n]=()=>A}}},ye=(A,t)=>{const e=Ue(t);A.slots.default=()=>e};function Fe(A,t){if(null===Lt)return A;const e=Lt.proxy,n=A.dirs||(A.dirs=[]);for(let r=0;r<t.length;r++){let[A,o,i,s=f]=t[r];_(A)&&(A={mounted:A,updated:A}),n.push({dir:A,instance:e,value:o,oldValue:void 0,arg:i,modifiers:s})}return A}function me(A,t,e,n){const r=A.dirs,o=t&&t.dirs;for(let i=0;i<r.length;i++){const s=r[i];o&&(s.oldValue=o[i].value);const a=s.dir[n];a&&ct(a,e,8,[A.el,s,A,t])}}function _e(){return{app:null,config:{isNativeTag:p,performance:!1,globalProperties:{},optionMergeStrategies:{},isCustomElement:p,errorHandler:void 0,warnHandler:void 0},mixins:[],components:{},directives:{},provides:Object.create(null)}}let He=0;function be(A,t){return function(e,n=null){null==n||N(n)||(n=null);const r=_e(),o=new Set;let i=!1;const s=r.app={_uid:He++,_component:e,_props:n,_container:null,_context:r,version:On,get config(){return r.config},set config(A){},use:(A,...t)=>(o.has(A)||(A&&_(A.install)?(o.add(A),A.install(s,...t)):_(A)&&(o.add(A),A(s,...t))),s),mixin:A=>(r.mixins.includes(A)||(r.mixins.push(A),(A.props||A.emits)&&(r.deopt=!0)),s),component:(A,t)=>t?(r.components[A]=t,s):r.components[A],directive:(A,t)=>t?(r.directives[A]=t,s):r.directives[A],mount(o,a,u){if(!i){const c=An(e,n);return c.appContext=r,a&&t?t(c,o):A(c,o,u),i=!0,s._container=o,o.__vue_app__=s,c.component.proxy}},unmount(){i&&(A(null,s._container),delete s._container.__vue_app__)},provide:(A,t)=>(r.provides[A]=t,s)};return s}}function Ne(A){return _(A)?{setup:A,name:A.name}:A}const Ke={scheduler:mt,allowRecurse:!0},Ie=function(A,t){t&&t.pendingBranch?E(A)?t.effects.push(...A):t.effects.push(A):Ht(A,vt,Qt,Ut)},Oe=(A,t,e,n)=>{if(E(A))return void A.forEach(((A,r)=>Oe(A,t&&(E(t)?t[r]:t),e,n)));let r;if(n){if((A=>!!A.type.__asyncLoader)(n))return;r=4&n.shapeFlag?n.component.exposed||n.component.proxy:n.el}else r=null;const{i:o,r:i}=A,s=t&&t.r,a=o.refs===f?o.refs={}:o.refs,u=o.setupState;if(null!=s&&s!==i&&(H(s)?(a[s]=null,C(u,s)&&(u[s]=null)):et(s)&&(s.value=null)),H(i)){const A=()=>{a[i]=r,C(u,i)&&(u[i]=r)};r?(A.id=-1,Ie(A,e)):A()}else if(et(i)){const A=()=>{i.value=r};r?(A.id=-1,Ie(A,e)):A()}else _(i)&&ut(i,o,12,[r,a])};function Te(A){return function(A,t){const{insert:e,remove:n,patchProp:r,forcePatchProp:o,createElement:i,createText:s,createComment:a,setText:u,setElementText:c,parentNode:l,nextSibling:p,setScopeId:g=B,cloneNode:d,insertStaticContent:w}=A,v=(A,t,e,n=null,r=null,o=null,i=!1,s=null,a=!1)=>{A&&!Ye(A,t)&&(n=nA(A),Y(A,r,o,!0),A=null),-2===t.patchFlag&&(a=!1,t.dynamicChildren=null);const{type:u,ref:c,shapeFlag:l}=t;switch(u){case ke:U(A,t,e,n);break;case Pe:E(A,t,e,n);break;case ze:null==A&&y(t,e,n,i);break;case De:x(A,t,e,n,r,o,i,s,a);break;default:1&l?_(A,t,e,n,r,o,i,s,a):6&l?R(A,t,e,n,r,o,i,s,a):(64&l||128&l)&&u.process(A,t,e,n,r,o,i,s,a,sA)}null!=c&&r&&Oe(c,A&&A.ref,o,t)},U=(A,t,n,r)=>{if(null==A)e(t.el=s(t.children),n,r);else{const e=t.el=A.el;t.children!==A.children&&u(e,t.children)}},E=(A,t,n,r)=>{null==A?e(t.el=a(t.children||\"\"),n,r):t.el=A.el},y=(A,t,e,n)=>{[A.el,A.anchor]=w(A.children,t,e,n)},F=({el:A,anchor:t},n,r)=>{let o;for(;A&&A!==t;)o=p(A),e(A,n,r),A=o;e(t,n,r)},m=({el:A,anchor:t})=>{let e;for(;A&&A!==t;)e=p(A),n(A),A=e;n(t)},_=(A,t,e,n,r,o,i,s,a)=>{i=i||\"svg\"===t.type,null==A?H(t,e,n,r,o,i,s,a):I(A,t,r,o,i,s,a)},H=(A,t,n,o,s,a,u,l)=>{let f,h;const{type:B,props:p,shapeFlag:g,transition:w,patchFlag:Q,dirs:v}=A;if(A.el&&void 0!==d&&-1===Q)f=A.el=d(A.el);else{if(f=A.el=i(A.type,a,p&&p.is,p),8&g?c(f,A.children):16&g&&N(A.children,f,null,o,s,a&&\"foreignObject\"!==B,u,l||!!A.dynamicChildren),v&&me(A,null,o,\"created\"),p){for(const t in p)S(t)||r(f,t,null,p[t],a,A.children,o,s,eA);(h=p.onVnodeBeforeMount)&&xe(h,o,A)}b(f,A,A.scopeId,u,o)}v&&me(A,null,o,\"beforeMount\");const U=(!s||s&&!s.pendingBranch)&&w&&!w.persisted;U&&w.beforeEnter(f),e(f,t,n),((h=p&&p.onVnodeMounted)||U||v)&&Ie((()=>{h&&xe(h,o,A),U&&w.enter(f),v&&me(A,null,o,\"mounted\")}),s)},b=(A,t,e,n,r)=>{if(e&&g(A,e),n)for(let o=0;o<n.length;o++)g(A,n[o]);if(r){if(t===r.subTree){const t=r.vnode;b(A,t,t.scopeId,t.slotScopeIds,r.parent)}}},N=(A,t,e,n,r,o,i,s,a=0)=>{for(let u=a;u<A.length;u++){const a=A[u]=i?on(A[u]):rn(A[u]);v(null,a,t,e,n,r,o,i,s)}},I=(A,t,e,n,i,s,a)=>{const u=t.el=A.el;let{patchFlag:l,dynamicChildren:h,dirs:B}=t;l|=16&A.patchFlag;const p=A.props||f,g=t.props||f;let d;if((d=g.onVnodeBeforeUpdate)&&xe(d,e,t,A),B&&me(t,A,e,\"beforeUpdate\"),l>0){if(16&l)T(u,t,p,g,e,n,i);else if(2&l&&p.class!==g.class&&r(u,\"class\",null,g.class,i),4&l&&r(u,\"style\",p.style,g.style,i),8&l){const s=t.dynamicProps;for(let t=0;t<s.length;t++){const a=s[t],c=p[a],l=g[a];(l!==c||o&&o(u,a))&&r(u,a,c,l,i,A.children,e,n,eA)}}1&l&&A.children!==t.children&&c(u,t.children)}else a||null!=h||T(u,t,p,g,e,n,i);const w=i&&\"foreignObject\"!==t.type;h?O(A.dynamicChildren,h,u,e,n,w,s):a||V(A,t,u,null,e,n,w,s,!1),((d=g.onVnodeUpdated)||B)&&Ie((()=>{d&&xe(d,e,t,A),B&&me(t,A,e,\"updated\")}),n)},O=(A,t,e,n,r,o,i)=>{for(let s=0;s<t.length;s++){const a=A[s],u=t[s],c=a.type===De||!Ye(a,u)||6&a.shapeFlag||64&a.shapeFlag?l(a.el):e;v(a,u,c,null,n,r,o,i,!0)}},T=(A,t,e,n,i,s,a)=>{if(e!==n){for(const u in n){if(S(u))continue;const c=n[u],l=e[u];(c!==l||o&&o(A,u))&&r(A,u,l,c,a,t.children,i,s,eA)}if(e!==f)for(const o in e)S(o)||o in n||r(A,o,e[o],null,a,t.children,i,s,eA)}},x=(A,t,n,r,o,i,a,u,c)=>{const l=t.el=A?A.el:s(\"\"),f=t.anchor=A?A.anchor:s(\"\");let{patchFlag:h,dynamicChildren:B,slotScopeIds:p}=t;h>0&&(c=!0),p&&(u=u?u.concat(p):p),null==A?(e(l,n,r),e(f,n,r),N(t.children,n,f,o,i,a,u,c)):h>0&&64&h&&B&&A.dynamicChildren?(O(A.dynamicChildren,B,n,o,i,a,u),(null!=t.key||o&&t===o.subTree)&&Se(A,t,!0)):V(A,t,n,f,o,i,a,u,c)},R=(A,t,e,n,r,o,i,s,a)=>{t.slotScopeIds=s,null==A?512&t.shapeFlag?r.ctx.activate(t,e,n,i,a):L(t,e,n,r,o,i,a):D(A,t,a)},L=(A,t,e,n,r,o,i)=>{const s=A.component=function(A,t,e){const n=A.type,r=(t?t.appContext:A.appContext)||Un,o={uid:Cn++,vnode:A,type:n,parent:t,appContext:r,root:null,next:null,subTree:null,update:null,render:null,proxy:null,exposed:null,withProxy:null,effects:null,provides:t?t.provides:Object.create(r.provides),accessCache:null,renderCache:[],components:null,directives:null,propsOptions:Yt(n,r),emitsOptions:Tt(n,r),emit:null,emitted:null,propsDefaults:f,ctx:f,data:f,props:f,attrs:f,slots:f,refs:f,setupState:f,setupContext:null,suspense:e,suspenseId:e?e.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null};return o.ctx={_:o},o.root=t?t.root:o,o.emit=Ot.bind(null,o),o}(A,n,r);if(de(A)&&(s.ctx.renderer=sA),function(A,t=!1){mn=t;const{props:e,children:n}=A.vnode,r=Fn(A);Gt(A,e,r,t),((A,t)=>{if(32&A.vnode.shapeFlag){const e=t._;e?(A.slots=t,J(t,\"_\",e)):Ee(t,A.slots={})}else A.slots={},t&&ye(A,t);J(A.slots,qe,1)})(A,n);const o=r?function(A,t){const e=A.type;A.accessCache=Object.create(null),A.proxy=new Proxy(A.ctx,Qn);const{setup:n}=e;if(n){const e=A.setupContext=n.length>1?function(A){const t=t=>{A.exposed=it(t)};return{attrs:A.attrs,slots:A.slots,emit:A.emit,expose:t}}(A):null;En=A,oA();const r=ut(n,A,0,[A.props,e]);if(iA(),En=null,K(r)){if(t)return r.then((t=>{_n(A,t)})).catch((t=>{lt(t,A,0)}));A.asyncDep=r}else _n(A,r)}else Hn(A)}(A,t):void 0;mn=!1}(s),s.asyncDep){if(r&&r.registerDep(s,P),!A.el){const A=s.subTree=An(Pe);E(null,A,t,e)}}else P(s,A,t,e,r,o,i)},D=(A,t,e)=>{const n=t.component=A.component;if(function(A,t,e){const{props:n,children:r,component:o}=A,{props:i,children:s,patchFlag:a}=t,u=o.emitsOptions;if(t.dirs||t.transition)return!0;if(!(e&&a>=0))return!(!r&&!s||s&&s.$stable)||n!==i&&(n?!i||Xt(n,i,u):!!i);if(1024&a)return!0;if(16&a)return n?Xt(n,i,u):!!i;if(8&a){const A=t.dynamicProps;for(let t=0;t<A.length;t++){const e=A[t];if(i[e]!==n[e]&&!xt(u,e))return!0}}return!1}(A,t,e)){if(n.asyncDep&&!n.asyncResolved)return void z(n,t,e);n.next=t,function(A){const t=Bt.indexOf(A);t>pt&&Bt.splice(t,1)}(n.update),n.update()}else t.component=A.component,t.el=A.el,n.vnode=t},P=(A,t,e,n,r,o,i)=>{A.update=Z((function(){if(A.isMounted){let t,{next:e,bu:n,u:s,parent:a,vnode:u}=A,c=e;e?(e.el=u.el,z(A,e,i)):e=u,n&&X(n),(t=e.props&&e.props.onVnodeBeforeUpdate)&&xe(t,a,e,u);const f=kt(A),h=A.subTree;A.subTree=f,v(h,f,l(h.el),nA(h),A,r,o),e.el=f.el,null===c&&function({vnode:A,parent:t},e){for(;t&&t.subTree===A;)(A=t.vnode).el=e,t=t.parent}(A,f.el),s&&Ie(s,r),(t=e.props&&e.props.onVnodeUpdated)&&Ie((()=>{xe(t,a,e,u)}),r)}else{let i;const{el:s,props:a}=t,{bm:u,m:c,parent:l}=A;u&&X(u),(i=a&&a.onVnodeBeforeMount)&&xe(i,l,t);const f=A.subTree=kt(A);if(s&&cA?cA(t.el,f,A,r,null):(v(null,f,e,n,A,r,o),t.el=f.el),c&&Ie(c,r),i=a&&a.onVnodeMounted){const A=t;Ie((()=>{xe(i,l,A)}),r)}const{a:h}=A;h&&256&t.shapeFlag&&Ie(h,r),A.isMounted=!0,t=e=n=null}}),Ke)},z=(A,t,e)=>{t.component=A;const n=A.vnode.props;A.vnode=t,A.next=null,function(A,t,e,n){const{props:r,attrs:o,vnode:{patchFlag:i}}=A,s=At(r),[a]=A.propsOptions;if(!(n||i>0)||16&i){let n;jt(A,t,r,o);for(const o in s)t&&(C(t,o)||(n=k(o))!==o&&C(t,n))||(a?!e||void 0===e[o]&&void 0===e[n]||(r[o]=Wt(a,t||f,o,void 0,A)):delete r[o]);if(o!==s)for(const A in o)t&&C(t,A)||delete o[A]}else if(8&i){const e=A.vnode.dynamicProps;for(let n=0;n<e.length;n++){const i=e[n],u=t[i];if(a)if(C(o,i))o[i]=u;else{const t=M(i);r[t]=Wt(a,s,t,u,A)}else o[i]=u}}aA(A,\"set\",\"$attrs\")}(A,t.props,n,e),((A,t,e)=>{const{vnode:n,slots:r}=A;let o=!0,i=f;if(32&n.shapeFlag){const A=t._;A?e&&1===A?o=!1:(Q(r,t),e||1!==A||delete r._):(o=!t.$stable,Ee(t,r)),i=t}else t&&(ye(A,t),i={default:1});if(o)for(const s in r)ve(s)||s in i||delete r[s]})(A,t.children,e),oA(),bt(void 0,A.update),iA()},V=(A,t,e,n,r,o,i,s,a=!1)=>{const u=A&&A.children,l=A?A.shapeFlag:0,f=t.children,{patchFlag:h,shapeFlag:B}=t;if(h>0){if(128&h)return void j(u,f,e,n,r,o,i,s,a);if(256&h)return void G(u,f,e,n,r,o,i,s,a)}8&B?(16&l&&eA(u,r,o),f!==u&&c(e,f)):16&l?16&B?j(u,f,e,n,r,o,i,s,a):eA(u,r,o,!0):(8&l&&c(e,\"\"),16&B&&N(f,e,n,r,o,i,s,a))},G=(A,t,e,n,r,o,i,s,a)=>{t=t||h;const u=(A=A||h).length,c=t.length,l=Math.min(u,c);let f;for(f=0;f<l;f++){const n=t[f]=a?on(t[f]):rn(t[f]);v(A[f],n,e,null,r,o,i,s,a)}u>c?eA(A,r,o,!0,!1,l):N(t,e,n,r,o,i,s,a,l)},j=(A,t,e,n,r,o,i,s,a)=>{let u=0;const c=t.length;let l=A.length-1,f=c-1;for(;u<=l&&u<=f;){const n=A[u],c=t[u]=a?on(t[u]):rn(t[u]);if(!Ye(n,c))break;v(n,c,e,null,r,o,i,s,a),u++}for(;u<=l&&u<=f;){const n=A[l],u=t[f]=a?on(t[f]):rn(t[f]);if(!Ye(n,u))break;v(n,u,e,null,r,o,i,s,a),l--,f--}if(u>l){if(u<=f){const A=f+1,l=A<c?t[A].el:n;for(;u<=f;)v(null,t[u]=a?on(t[u]):rn(t[u]),e,l,r,o,i,s,a),u++}}else if(u>f)for(;u<=l;)Y(A[u],r,o,!0),u++;else{const B=u,p=u,g=new Map;for(u=p;u<=f;u++){const A=t[u]=a?on(t[u]):rn(t[u]);null!=A.key&&g.set(A.key,u)}let d,w=0;const Q=f-p+1;let U=!1,C=0;const E=new Array(Q);for(u=0;u<Q;u++)E[u]=0;for(u=B;u<=l;u++){const n=A[u];if(w>=Q){Y(n,r,o,!0);continue}let c;if(null!=n.key)c=g.get(n.key);else for(d=p;d<=f;d++)if(0===E[d-p]&&Ye(n,t[d])){c=d;break}void 0===c?Y(n,r,o,!0):(E[c-p]=u+1,c>=C?C=c:U=!0,v(n,t[c],e,null,r,o,i,s,a),w++)}const y=U?function(A){const t=A.slice(),e=[0];let n,r,o,i,s;const a=A.length;for(n=0;n<a;n++){const a=A[n];if(0!==a){if(r=e[e.length-1],A[r]<a){t[n]=r,e.push(n);continue}for(o=0,i=e.length-1;o<i;)s=(o+i)/2|0,A[e[s]]<a?o=s+1:i=s;a<A[e[o]]&&(o>0&&(t[n]=e[o-1]),e[o]=n)}}o=e.length,i=e[o-1];for(;o-- >0;)e[o]=i,i=t[i];return e}(E):h;for(d=y.length-1,u=Q-1;u>=0;u--){const A=p+u,l=t[A],f=A+1<c?t[A+1].el:n;0===E[u]?v(null,l,e,f,r,o,i,s,a):U&&(d<0||u!==y[d]?W(l,e,f,2):d--)}}},W=(A,t,n,r,o=null)=>{const{el:i,type:s,transition:a,children:u,shapeFlag:c}=A;if(6&c)return void W(A.component.subTree,t,n,r);if(128&c)return void A.suspense.move(t,n,r);if(64&c)return void s.move(A,t,n,sA);if(s===De){e(i,t,n);for(let A=0;A<u.length;A++)W(u[A],t,n,r);return void e(A.anchor,t,n)}if(s===ze)return void F(A,t,n);if(2!==r&&1&c&&a)if(0===r)a.beforeEnter(i),e(i,t,n),Ie((()=>a.enter(i)),o);else{const{leave:A,delayLeave:r,afterLeave:o}=a,s=()=>e(i,t,n),u=()=>{A(i,(()=>{s(),o&&o()}))};r?r(i,s,u):u()}else e(i,t,n)},Y=(A,t,e,n=!1,r=!1)=>{const{type:o,props:i,ref:s,children:a,dynamicChildren:u,shapeFlag:c,patchFlag:l,dirs:f}=A;if(null!=s&&Oe(s,null,e,null),256&c)return void t.ctx.deactivate(A);const h=1&c&&f;let B;if((B=i&&i.onVnodeBeforeUnmount)&&xe(B,t,A),6&c)tA(A.component,e,n);else{if(128&c)return void A.suspense.unmount(e,n);h&&me(A,null,t,\"beforeUnmount\"),64&c?A.type.remove(A,t,e,r,sA,n):u&&(o!==De||l>0&&64&l)?eA(u,t,e,!1,!0):(o===De&&(128&l||256&l)||!r&&16&c)&&eA(a,t,e),n&&q(A)}((B=i&&i.onVnodeUnmounted)||h)&&Ie((()=>{B&&xe(B,t,A),h&&me(A,null,t,\"unmounted\")}),e)},q=A=>{const{type:t,el:e,anchor:r,transition:o}=A;if(t===De)return void $(e,r);if(t===ze)return void m(A);const i=()=>{n(e),o&&!o.persisted&&o.afterLeave&&o.afterLeave()};if(1&A.shapeFlag&&o&&!o.persisted){const{leave:t,delayLeave:n}=o,r=()=>t(e,i);n?n(A.el,i,r):r()}else i()},$=(A,t)=>{let e;for(;A!==t;)e=p(A),n(A),A=e;n(t)},tA=(A,t,e)=>{const{bum:n,effects:r,update:o,subTree:i,um:s}=A;if(n&&X(n),r)for(let a=0;a<r.length;a++)AA(r[a]);o&&(AA(o),Y(i,A,t,e)),s&&Ie(s,t),Ie((()=>{A.isUnmounted=!0}),t),t&&t.pendingBranch&&!t.isUnmounted&&A.asyncDep&&!A.asyncResolved&&A.suspenseId===t.pendingId&&(t.deps--,0===t.deps&&t.resolve())},eA=(A,t,e,n=!1,r=!1,o=0)=>{for(let i=o;i<A.length;i++)Y(A[i],t,e,n,r)},nA=A=>6&A.shapeFlag?nA(A.component.subTree):128&A.shapeFlag?A.suspense.next():p(A.anchor||A.el),rA=(A,t,e)=>{null==A?t._vnode&&Y(t._vnode,null,null,!0):v(t._vnode||null,A,t,null,null,null,e),Nt(),t._vnode=A},sA={p:v,um:Y,m:W,r:q,mt:L,mc:N,pc:V,pbc:O,n:nA,o:A};let uA,cA;t&&([uA,cA]=t(sA));return{render:rA,hydrate:uA,createApp:be(rA,uA)}}(A)}function xe(A,t,e,n=null){ct(A,t,7,[e,n])}function Se(A,t,e=!1){const n=A.children,r=t.children;if(E(n)&&E(r))for(let o=0;o<n.length;o++){const A=n[o];let t=r[o];1&t.shapeFlag&&!t.dynamicChildren&&((t.patchFlag<=0||32===t.patchFlag)&&(t=r[o]=on(r[o]),t.el=A.el),e||Se(A,t))}}function Re(A,t){return function(A,t,e=!0,n=!1){const r=Lt||En;if(r){const e=r.type;if(\"components\"===A){const A=Nn(e);if(A&&(A===t||A===M(t)||A===P(M(t))))return e}const o=Me(r[A]||e[A],t)||Me(r.appContext[A],t);return!o&&n?e:o}}(\"components\",A,!0,t)||A}const Le=Symbol();function Me(A,t){return A&&(A[t]||A[M(t)]||A[P(M(t))])}const De=Symbol(void 0),ke=Symbol(void 0),Pe=Symbol(void 0),ze=Symbol(void 0),Ve=[];let Xe=null;function Je(A=!1){Ve.push(Xe=A?null:[])}function Ge(){Ve.pop(),Xe=Ve[Ve.length-1]||null}function je(A,t,e,n,r){const o=An(A,t,e,n,r,!0);return o.dynamicChildren=Xe||h,Ge(),Xe&&Xe.push(o),o}function We(A){return!!A&&!0===A.__v_isVNode}function Ye(A,t){return A.type===t.type&&A.key===t.key}const qe=\"__vInternal\",$e=({key:A})=>null!=A?A:null,Ze=({ref:A})=>null!=A?H(A)||et(A)||_(A)?{i:Lt,r:A}:A:null,An=function(A,t=null,e=null,r=0,o=null,i=!1){A&&A!==Le||(A=Pe);if(We(A)){const n=tn(A,t,!0);return e&&sn(n,e),n}a=A,_(a)&&\"__vccOpts\"in a&&(A=A.__vccOpts);var a;if(t){(ZA(t)||qe in t)&&(t=Q({},t));let{class:A,style:e}=t;A&&!H(A)&&(t.class=s(A)),N(e)&&(ZA(e)&&!E(e)&&(e=Q({},e)),t.style=n(e))}const u=H(A)?1:(A=>A.__isSuspense)(A)?128:(A=>A.__isTeleport)(A)?64:N(A)?4:_(A)?2:0,c={__v_isVNode:!0,__v_skip:!0,type:A,props:t,key:t&&$e(t),ref:t&&Ze(t),scopeId:Mt,slotScopeIds:null,children:null,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetAnchor:null,staticCount:0,shapeFlag:u,patchFlag:r,dynamicProps:o,dynamicChildren:null,appContext:null};if(sn(c,e),128&u){const{content:A,fallback:t}=function(A){const{shapeFlag:t,children:e}=A;let n,r;return 32&t?(n=Jt(e.default),r=Jt(e.fallback)):(n=Jt(e),r=rn(null)),{content:n,fallback:r}}(c);c.ssContent=A,c.ssFallback=t}!i&&Xe&&(r>0||6&u)&&32!==r&&Xe.push(c);return c};function tn(A,t,e=!1){const{props:r,ref:o,patchFlag:i,children:a}=A,u=t?function(...A){const t=Q({},A[0]);for(let e=1;e<A.length;e++){const r=A[e];for(const A in r)if(\"class\"===A)t.class!==r.class&&(t.class=s([t.class,r.class]));else if(\"style\"===A)t.style=n([t.style,r.style]);else if(d(A)){const e=t[A],n=r[A];e!==n&&(t[A]=e?[].concat(e,r[A]):n)}else\"\"!==A&&(t[A]=r[A])}return t}(r||{},t):r;return{__v_isVNode:!0,__v_skip:!0,type:A.type,props:u,key:u&&$e(u),ref:t&&t.ref?e&&o?E(o)?o.concat(Ze(t)):[o,Ze(t)]:Ze(t):o,scopeId:A.scopeId,slotScopeIds:A.slotScopeIds,children:a,target:A.target,targetAnchor:A.targetAnchor,staticCount:A.staticCount,shapeFlag:A.shapeFlag,patchFlag:t&&A.type!==De?-1===i?16:16|i:i,dynamicProps:A.dynamicProps,dynamicChildren:A.dynamicChildren,appContext:A.appContext,dirs:A.dirs,transition:A.transition,component:A.component,suspense:A.suspense,ssContent:A.ssContent&&tn(A.ssContent),ssFallback:A.ssFallback&&tn(A.ssFallback),el:A.el,anchor:A.anchor}}function en(A=\" \",t=0){return An(ke,null,A,t)}function nn(A=\"\",t=!1){return t?(Je(),je(Pe,null,A)):An(Pe,null,A)}function rn(A){return null==A||\"boolean\"==typeof A?An(Pe):E(A)?An(De,null,A):\"object\"==typeof A?null===A.el?A:tn(A):An(ke,null,String(A))}function on(A){return null===A.el?A:tn(A)}function sn(A,t){let e=0;const{shapeFlag:n}=A;if(null==t)t=null;else if(E(t))e=16;else if(\"object\"==typeof t){if(1&n||64&n){const e=t.default;return void(e&&(e._c&&Rt(1),sn(A,e()),e._c&&Rt(-1)))}{e=32;const n=t._;n||qe in t?3===n&&Lt&&(1024&Lt.vnode.patchFlag?(t._=2,A.patchFlag|=1024):t._=1):t._ctx=Lt}}else _(t)?(t={default:t,_ctx:Lt},e=32):(t=String(t),64&n?(e=16,t=[en(t)]):e=8);A.children=t,A.shapeFlag|=e}function an(A,t,e=!1){const n=En||Lt;if(n){const r=null==n.parent?n.vnode.appContext&&n.vnode.appContext.provides:n.parent.provides;if(r&&A in r)return r[A];if(arguments.length>1)return e&&_(t)?t():t}}let un=!0;function cn(A,t,e=[],n=[],r=[],o=!1){const{mixins:i,extends:s,data:a,computed:u,methods:c,watch:l,provide:h,inject:p,components:g,directives:d,beforeMount:w,mounted:v,beforeUpdate:U,updated:C,activated:y,deactivated:F,beforeDestroy:m,beforeUnmount:H,destroyed:b,unmounted:K,render:I,renderTracked:O,renderTriggered:T,errorCaptured:x,expose:S}=t,R=A.proxy,L=A.ctx,M=A.appContext.mixins;if(o&&I&&A.render===B&&(A.render=I),o||(un=!1,ln(\"beforeCreate\",\"bc\",t,A,M),un=!0,hn(A,M,e,n,r)),s&&cn(A,s,e,n,r,!0),i&&hn(A,i,e,n,r),p)if(E(p))for(let f=0;f<p.length;f++){const A=p[f];L[A]=an(A)}else for(const f in p){const A=p[f];N(A)?L[f]=an(A.from||f,A.default,!0):L[f]=an(A)}if(c)for(const f in c){const A=c[f];_(A)&&(L[f]=A.bind(R))}if(o?a&&e.push(a):(e.length&&e.forEach((t=>Bn(A,t,R))),a&&Bn(A,a,R)),u)for(const f in u){const A=u[f],t=Kn({get:_(A)?A.bind(R,R):_(A.get)?A.get.bind(R,R):B,set:!_(A)&&_(A.set)?A.set.bind(R):B});Object.defineProperty(L,f,{enumerable:!0,configurable:!0,get:()=>t.value,set:A=>t.value=A})}var D;if(l&&n.push(l),!o&&n.length&&n.forEach((A=>{for(const t in A)pn(A[t],L,R,t)})),h&&r.push(h),!o&&r.length&&r.forEach((A=>{const t=_(A)?A.call(R):A;Reflect.ownKeys(t).forEach((A=>{!function(A,t){if(En){let e=En.provides;const n=En.parent&&En.parent.provides;n===e&&(e=En.provides=Object.create(n)),e[A]=t}}(A,t[A])}))})),o&&(g&&Q(A.components||(A.components=Q({},A.type.components)),g),d&&Q(A.directives||(A.directives=Q({},A.type.directives)),d)),o||ln(\"created\",\"c\",t,A,M),w&&ne(w.bind(R)),v&&re(v.bind(R)),U&&oe(U.bind(R)),C&&ie(C.bind(R)),y&&we(y.bind(R),\"a\",D),F&&function(A,t){we(A,\"da\",t)}(F.bind(R)),x&&((A,t=En)=>{te(\"ec\",A,t)})(x.bind(R)),O&&ce(O.bind(R)),T&&ue(T.bind(R)),H&&se(H.bind(R)),K&&ae(K.bind(R)),E(S)&&!o)if(S.length){const t=A.exposed||(A.exposed=it({}));S.forEach((A=>{t[A]=function(A,t){return et(A[t])?A[t]:new st(A,t)}(R,A)}))}else A.exposed||(A.exposed=f)}function ln(A,t,e,n,r){for(let o=0;o<r.length;o++)fn(A,t,r[o],n);fn(A,t,e,n)}function fn(A,t,e,n){const{extends:r,mixins:o}=e,i=e[A];if(r&&fn(A,t,r,n),o)for(let s=0;s<o.length;s++)fn(A,t,o[s],n);i&&ct(i.bind(n.proxy),n,t)}function hn(A,t,e,n,r){for(let o=0;o<t.length;o++)cn(A,t[o],e,n,r,!0)}function Bn(A,t,e){un=!1;const n=t.call(e,e);un=!0,N(n)&&(A.data===f?A.data=jA(n):Q(A.data,n))}function pn(A,t,e,n){const r=n.includes(\".\")?function(A,t){const e=t.split(\".\");return()=>{let t=A;for(let A=0;A<e.length&&t;A++)t=t[e[A]];return t}}(e,n):()=>e[n];if(H(A)){const e=t[A];_(e)&&he(r,e)}else if(_(A))he(r,A.bind(e));else if(N(A))if(E(A))A.forEach((A=>pn(A,t,e,n)));else{const n=_(A.handler)?A.handler.bind(e):t[A.handler];_(n)&&he(r,n,A)}}function gn(A,t,e){const n=e.appContext.config.optionMergeStrategies,{mixins:r,extends:o}=t;o&&gn(A,o,e),r&&r.forEach((t=>gn(A,t,e)));for(const i in t)n&&C(n,i)?A[i]=n[i](A[i],t[i],e.proxy,i):A[i]=t[i]}const dn=A=>A?Fn(A)?A.exposed?A.exposed:A.proxy:dn(A.parent):null,wn=Q(Object.create(null),{$:A=>A,$el:A=>A.vnode.el,$data:A=>A.data,$props:A=>A.props,$attrs:A=>A.attrs,$slots:A=>A.slots,$refs:A=>A.refs,$parent:A=>dn(A.parent),$root:A=>dn(A.root),$emit:A=>A.emit,$options:A=>function(A){const t=A.type,{__merged:e,mixins:n,extends:r}=t;if(e)return e;const o=A.appContext.mixins;if(!o.length&&!n&&!r)return t;const i={};return o.forEach((t=>gn(i,t,A))),gn(i,t,A),t.__merged=i}(A),$forceUpdate:A=>()=>mt(A.update),$nextTick:A=>Ft.bind(A.proxy),$watch:A=>pe.bind(A)}),Qn={get({_:A},t){const{ctx:e,setupState:n,data:r,props:o,accessCache:i,type:s,appContext:a}=A;if(\"__v_skip\"===t)return!0;let u;if(\"$\"!==t[0]){const s=i[t];if(void 0!==s)switch(s){case 0:return n[t];case 1:return r[t];case 3:return e[t];case 2:return o[t]}else{if(n!==f&&C(n,t))return i[t]=0,n[t];if(r!==f&&C(r,t))return i[t]=1,r[t];if((u=A.propsOptions[0])&&C(u,t))return i[t]=2,o[t];if(e!==f&&C(e,t))return i[t]=3,e[t];un&&(i[t]=4)}}const c=wn[t];let l,h;return c?(\"$attrs\"===t&&sA(A,0,t),c(A)):(l=s.__cssModules)&&(l=l[t])?l:e!==f&&C(e,t)?(i[t]=3,e[t]):(h=a.config.globalProperties,C(h,t)?h[t]:void 0)},set({_:A},t,e){const{data:n,setupState:r,ctx:o}=A;if(r!==f&&C(r,t))r[t]=e;else if(n!==f&&C(n,t))n[t]=e;else if(C(A.props,t))return!1;return(\"$\"!==t[0]||!(t.slice(1)in A))&&(o[t]=e,!0)},has({_:{data:A,setupState:t,accessCache:e,ctx:n,appContext:r,propsOptions:o}},i){let s;return void 0!==e[i]||A!==f&&C(A,i)||t!==f&&C(t,i)||(s=o[0])&&C(s,i)||C(n,i)||C(wn,i)||C(r.config.globalProperties,i)}},vn=Q({},Qn,{get(A,t){if(t!==Symbol.unscopables)return Qn.get(A,t,A)},has:(A,e)=>\"_\"!==e[0]&&!t(e)}),Un=_e();let Cn=0;let En=null;const yn=A=>{En=A};function Fn(A){return 4&A.vnode.shapeFlag}let mn=!1;function _n(A,t,e){_(t)?A.render=t:N(t)&&(A.setupState=it(t)),Hn(A)}function Hn(A,t){const e=A.type;A.render||(A.render=e.render||B,A.render._rc&&(A.withProxy=new Proxy(A.ctx,vn))),En=A,oA(),cn(A,e),iA(),En=null}function bn(A,t=En){t&&(t.effects||(t.effects=[])).push(A)}function Nn(A){return _(A)&&A.displayName||A.name}function Kn(A){const t=function(A){let t,e;return _(A)?(t=A,e=B):(t=A.get,e=A.set),new at(t,e,_(A)||!A.set)}(A);return bn(t.effect),t}function In(A,t){let e;if(E(A)||H(A)){e=new Array(A.length);for(let n=0,r=A.length;n<r;n++)e[n]=t(A[n],n)}else if(\"number\"==typeof A){e=new Array(A);for(let n=0;n<A;n++)e[n]=t(n+1,n)}else if(N(A))if(A[Symbol.iterator])e=Array.from(A,t);else{const n=Object.keys(A);e=new Array(n.length);for(let r=0,o=n.length;r<o;r++){const o=n[r];e[r]=t(A[o],o,r)}}else e=[];return e}const On=\"3.0.11\",Tn=\"http://www.w3.org/2000/svg\",xn=\"undefined\"!=typeof document?document:null;let Sn,Rn;const Ln={insert:(A,t,e)=>{t.insertBefore(A,e||null)},remove:A=>{const t=A.parentNode;t&&t.removeChild(A)},createElement:(A,t,e,n)=>{const r=t?xn.createElementNS(Tn,A):xn.createElement(A,e?{is:e}:void 0);return\"select\"===A&&n&&null!=n.multiple&&r.setAttribute(\"multiple\",n.multiple),r},createText:A=>xn.createTextNode(A),createComment:A=>xn.createComment(A),setText:(A,t)=>{A.nodeValue=t},setElementText:(A,t)=>{A.textContent=t},parentNode:A=>A.parentNode,nextSibling:A=>A.nextSibling,querySelector:A=>xn.querySelector(A),setScopeId(A,t){A.setAttribute(t,\"\")},cloneNode(A){const t=A.cloneNode(!0);return\"_value\"in A&&(t._value=A._value),t},insertStaticContent(A,t,e,n){const r=n?Rn||(Rn=xn.createElementNS(Tn,\"svg\")):Sn||(Sn=xn.createElement(\"div\"));r.innerHTML=A;const o=r.firstChild;let i=o,s=i;for(;i;)s=i,Ln.insert(i,t,e),i=r.firstChild;return[o,s]}};const Mn=/\\s*!important$/;function Dn(A,t,e){if(E(e))e.forEach((e=>Dn(A,t,e)));else if(t.startsWith(\"--\"))A.setProperty(t,e);else{const n=function(A,t){const e=Pn[t];if(e)return e;let n=M(t);if(\"filter\"!==n&&n in A)return Pn[t]=n;n=P(n);for(let r=0;r<kn.length;r++){const e=kn[r]+n;if(e in A)return Pn[t]=e}return t}(A,t);Mn.test(e)?A.setProperty(k(n),e.replace(Mn,\"\"),\"important\"):A[n]=e}}const kn=[\"Webkit\",\"Moz\",\"ms\"],Pn={};const zn=\"http://www.w3.org/1999/xlink\";let Vn=Date.now,Xn=!1;if(\"undefined\"!=typeof window){Vn()>document.createEvent(\"Event\").timeStamp&&(Vn=()=>performance.now());const A=navigator.userAgent.match(/firefox\\/(\\d+)/i);Xn=!!(A&&Number(A[1])<=53)}let Jn=0;const Gn=Promise.resolve(),jn=()=>{Jn=0};function Wn(A,t,e,n){A.addEventListener(t,e,n)}function Yn(A,t,e,n,r=null){const o=A._vei||(A._vei={}),i=o[t];if(n&&i)i.value=n;else{const[e,s]=function(A){let t;if(qn.test(A)){let e;for(t={};e=A.match(qn);)A=A.slice(0,A.length-e[0].length),t[e[0].toLowerCase()]=!0}return[k(A.slice(2)),t]}(t);if(n){Wn(A,e,o[t]=function(A,t){const e=A=>{const n=A.timeStamp||Vn();(Xn||n>=e.attached-1)&&ct(function(A,t){if(E(t)){const e=A.stopImmediatePropagation;return A.stopImmediatePropagation=()=>{e.call(A),A._stopped=!0},t.map((A=>t=>!t._stopped&&A(t)))}return t}(A,e.value),t,5,[A])};return e.value=A,e.attached=(()=>Jn||(Gn.then(jn),Jn=Vn()))(),e}(n,r),s)}else i&&(!function(A,t,e,n){A.removeEventListener(t,e,n)}(A,e,i,s),o[t]=void 0)}}const qn=/(?:Once|Passive|Capture)$/;const $n=/^on[a-z]/;function Zn(A=\"$style\"){{const t=En||Lt;if(!t)return f;const e=t.type.__cssModules;if(!e)return f;const n=e[A];return n||f}}const Ar=A=>{const t=A.props[\"onUpdate:modelValue\"];return E(t)?A=>X(t,A):t};function tr(A){A.target.composing=!0}function er(A){const t=A.target;t.composing&&(t.composing=!1,function(A,t){const e=document.createEvent(\"HTMLEvents\");e.initEvent(t,!0,!0),A.dispatchEvent(e)}(t,\"input\"))}const nr={created(A,{modifiers:{lazy:t,trim:e,number:n}},r){A._assign=Ar(r);const o=n||\"number\"===A.type;Wn(A,t?\"change\":\"input\",(t=>{if(t.target.composing)return;let n=A.value;e?n=n.trim():o&&(n=G(n)),A._assign(n)})),e&&Wn(A,\"change\",(()=>{A.value=A.value.trim()})),t||(Wn(A,\"compositionstart\",tr),Wn(A,\"compositionend\",er),Wn(A,\"change\",er))},mounted(A,{value:t}){A.value=null==t?\"\":t},beforeUpdate(A,{value:t,modifiers:{trim:e,number:n}},r){if(A._assign=Ar(r),A.composing)return;if(document.activeElement===A){if(e&&A.value.trim()===t)return;if((n||\"number\"===A.type)&&G(A.value)===t)return}const o=null==t?\"\":t;A.value!==o&&(A.value=o)}},rr={created(A,t,e){A._assign=Ar(e),Wn(A,\"change\",(()=>{const t=A._modelValue,e=ar(A),n=A.checked,r=A._assign;if(E(t)){const A=u(t,e),o=-1!==A;if(n&&!o)r(t.concat(e));else if(!n&&o){const e=[...t];e.splice(A,1),r(e)}}else if(F(t)){const A=new Set(t);n?A.add(e):A.delete(e),r(A)}else r(ur(A,n))}))},mounted:or,beforeUpdate(A,t,e){A._assign=Ar(e),or(A,t,e)}};function or(A,{value:t,oldValue:e},n){A._modelValue=t,E(t)?A.checked=u(t,n.props.value)>-1:F(t)?A.checked=t.has(n.props.value):t!==e&&(A.checked=a(t,ur(A,!0)))}const ir={created(A,{value:t,modifiers:{number:e}},n){const r=F(t);Wn(A,\"change\",(()=>{const t=Array.prototype.filter.call(A.options,(A=>A.selected)).map((A=>e?G(ar(A)):ar(A)));A._assign(A.multiple?r?new Set(t):t:t[0])})),A._assign=Ar(n)},mounted(A,{value:t}){sr(A,t)},beforeUpdate(A,t,e){A._assign=Ar(e)},updated(A,{value:t}){sr(A,t)}};function sr(A,t){const e=A.multiple;if(!e||E(t)||F(t)){for(let n=0,r=A.options.length;n<r;n++){const r=A.options[n],o=ar(r);if(e)E(t)?r.selected=u(t,o)>-1:r.selected=t.has(o);else if(a(ar(r),t))return void(A.selectedIndex=n)}e||(A.selectedIndex=-1)}}function ar(A){return\"_value\"in A?A._value:A.value}function ur(A,t){const e=t?\"_trueValue\":\"_falseValue\";return e in A?A[e]:t}const cr={beforeMount(A,{value:t},{transition:e}){A._vod=\"none\"===A.style.display?\"\":A.style.display,e&&t?e.beforeEnter(A):lr(A,t)},mounted(A,{value:t},{transition:e}){e&&t&&e.enter(A)},updated(A,{value:t,oldValue:e},{transition:n}){!t!=!e&&(n?t?(n.beforeEnter(A),lr(A,!0),n.enter(A)):n.leave(A,(()=>{lr(A,!1)})):lr(A,t))},beforeUnmount(A,{value:t}){lr(A,t)}};function lr(A,t){A.style.display=t?A._vod:\"none\"}const fr=Q({patchProp:(A,t,n,r,o=!1,i,s,a,u)=>{switch(t){case\"class\":!function(A,t,e){if(null==t&&(t=\"\"),e)A.setAttribute(\"class\",t);else{const e=A._vtc;e&&(t=(t?[t,...e]:[...e]).join(\" \")),A.className=t}}(A,r,o);break;case\"style\":!function(A,t,e){const n=A.style;if(e)if(H(e)){if(t!==e){const t=n.display;n.cssText=e,\"_vod\"in A&&(n.display=t)}}else{for(const A in e)Dn(n,A,e[A]);if(t&&!H(t))for(const A in t)null==e[A]&&Dn(n,A,\"\")}else A.removeAttribute(\"style\")}(A,n,r);break;default:d(t)?w(t)||Yn(A,t,0,r,s):function(A,t,e,n){if(n)return\"innerHTML\"===t||!!(t in A&&$n.test(t)&&_(e));if(\"spellcheck\"===t||\"draggable\"===t)return!1;if(\"form\"===t)return!1;if(\"list\"===t&&\"INPUT\"===A.tagName)return!1;if(\"type\"===t&&\"TEXTAREA\"===A.tagName)return!1;if($n.test(t)&&H(e))return!1;return t in A}(A,t,r,o)?function(A,t,e,n,r,o,i){if(\"innerHTML\"===t||\"textContent\"===t)return n&&i(n,r,o),void(A[t]=null==e?\"\":e);if(\"value\"!==t||\"PROGRESS\"===A.tagName){if(\"\"===e||null==e){const n=typeof A[t];if(\"\"===e&&\"boolean\"===n)return void(A[t]=!0);if(null==e&&\"string\"===n)return A[t]=\"\",void A.removeAttribute(t);if(\"number\"===n)return A[t]=0,void A.removeAttribute(t)}try{A[t]=e}catch(s){}}else{A._value=e;const t=null==e?\"\":e;A.value!==t&&(A.value=t)}}(A,t,r,i,s,a,u):(\"true-value\"===t?A._trueValue=r:\"false-value\"===t&&(A._falseValue=r),function(A,t,n,r){if(r&&t.startsWith(\"xlink:\"))null==n?A.removeAttributeNS(zn,t.slice(6,t.length)):A.setAttributeNS(zn,t,n);else{const r=e(t);null==n||r&&!1===n?A.removeAttribute(t):A.setAttribute(t,r?\"\":n)}}(A,t,r,o))}},forcePatchProp:(A,t)=>\"value\"===t},Ln);let hr;const Br=(...A)=>{const t=(hr||(hr=Te(fr))).createApp(...A),{mount:e}=t;return t.mount=A=>{const n=function(A){if(H(A)){return document.querySelector(A)}return A}(A);if(!n)return;const r=t._component;_(r)||r.render||r.template||(r.template=n.innerHTML),n.innerHTML=\"\";const o=e(n,!1,n instanceof SVGElement);return n instanceof Element&&(n.removeAttribute(\"v-cloak\"),n.setAttribute(\"data-v-app\",\"\")),o},t};function pr(A){return{all:A=A||new Map,on:function(t,e){var n=A.get(t);n&&n.push(e)||A.set(t,[e])},off:function(t,e){var n=A.get(t);n&&n.splice(n.indexOf(e)>>>0,1)},emit:function(t,e){(A.get(t)||[]).slice().map((function(A){A(e)})),(A.get(\"*\")||[]).slice().map((function(A){A(t,e)}))}}}const gr=Math.PI,dr=2*gr,wr=dr-1e-6;function Qr(){this._x0=this._y0=this._x1=this._y1=null,this._=\"\"}function vr(){return new Qr}function Ur(A){return function(){return A}}Qr.prototype=vr.prototype={constructor:Qr,moveTo:function(A,t){this._+=\"M\"+(this._x0=this._x1=+A)+\",\"+(this._y0=this._y1=+t)},closePath:function(){null!==this._x1&&(this._x1=this._x0,this._y1=this._y0,this._+=\"Z\")},lineTo:function(A,t){this._+=\"L\"+(this._x1=+A)+\",\"+(this._y1=+t)},quadraticCurveTo:function(A,t,e,n){this._+=\"Q\"+ +A+\",\"+ +t+\",\"+(this._x1=+e)+\",\"+(this._y1=+n)},bezierCurveTo:function(A,t,e,n,r,o){this._+=\"C\"+ +A+\",\"+ +t+\",\"+ +e+\",\"+ +n+\",\"+(this._x1=+r)+\",\"+(this._y1=+o)},arcTo:function(A,t,e,n,r){A=+A,t=+t,e=+e,n=+n,r=+r;var o=this._x1,i=this._y1,s=e-A,a=n-t,u=o-A,c=i-t,l=u*u+c*c;if(r<0)throw new Error(\"negative radius: \"+r);if(null===this._x1)this._+=\"M\"+(this._x1=A)+\",\"+(this._y1=t);else if(l>1e-6)if(Math.abs(c*s-a*u)>1e-6&&r){var f=e-o,h=n-i,B=s*s+a*a,p=f*f+h*h,g=Math.sqrt(B),d=Math.sqrt(l),w=r*Math.tan((gr-Math.acos((B+l-p)/(2*g*d)))/2),Q=w/d,v=w/g;Math.abs(Q-1)>1e-6&&(this._+=\"L\"+(A+Q*u)+\",\"+(t+Q*c)),this._+=\"A\"+r+\",\"+r+\",0,0,\"+ +(c*f>u*h)+\",\"+(this._x1=A+v*s)+\",\"+(this._y1=t+v*a)}else this._+=\"L\"+(this._x1=A)+\",\"+(this._y1=t);else;},arc:function(A,t,e,n,r,o){A=+A,t=+t,o=!!o;var i=(e=+e)*Math.cos(n),s=e*Math.sin(n),a=A+i,u=t+s,c=1^o,l=o?n-r:r-n;if(e<0)throw new Error(\"negative radius: \"+e);null===this._x1?this._+=\"M\"+a+\",\"+u:(Math.abs(this._x1-a)>1e-6||Math.abs(this._y1-u)>1e-6)&&(this._+=\"L\"+a+\",\"+u),e&&(l<0&&(l=l%dr+dr),l>wr?this._+=\"A\"+e+\",\"+e+\",0,1,\"+c+\",\"+(A-i)+\",\"+(t-s)+\"A\"+e+\",\"+e+\",0,1,\"+c+\",\"+(this._x1=a)+\",\"+(this._y1=u):l>1e-6&&(this._+=\"A\"+e+\",\"+e+\",0,\"+ +(l>=gr)+\",\"+c+\",\"+(this._x1=A+e*Math.cos(r))+\",\"+(this._y1=t+e*Math.sin(r))))},rect:function(A,t,e,n){this._+=\"M\"+(this._x0=this._x1=+A)+\",\"+(this._y0=this._y1=+t)+\"h\"+ +e+\"v\"+ +n+\"h\"+-e+\"Z\"},toString:function(){return this._}};var Cr=Array.prototype.slice;function Er(A){this._context=A}function yr(A){return new Er(A)}function Fr(A){return A[0]}function mr(A){return A[1]}function _r(A,t){var e=Ur(!0),n=null,r=yr,o=null;function i(i){var s,a,u,c,l=(c=i,i=\"object\"==typeof c&&\"length\"in c?c:Array.from(c)).length,f=!1;for(null==n&&(o=r(u=vr())),s=0;s<=l;++s)!(s<l&&e(a=i[s],s,i))===f&&((f=!f)?o.lineStart():o.lineEnd()),f&&o.point(+A(a,s,i),+t(a,s,i));if(u)return o=null,u+\"\"||null}return A=\"function\"==typeof A?A:void 0===A?Fr:Ur(A),t=\"function\"==typeof t?t:void 0===t?mr:Ur(t),i.x=function(t){return arguments.length?(A=\"function\"==typeof t?t:Ur(+t),i):A},i.y=function(A){return arguments.length?(t=\"function\"==typeof A?A:Ur(+A),i):t},i.defined=function(A){return arguments.length?(e=\"function\"==typeof A?A:Ur(!!A),i):e},i.curve=function(A){return arguments.length?(r=A,null!=n&&(o=r(n)),i):r},i.context=function(A){return arguments.length?(null==A?n=o=null:o=r(n=A),i):n},i}function Hr(A){return A.source}function br(A){return A.target}function Nr(A,t,e,n,r){A.moveTo(t,e),A.bezierCurveTo(t=(t+n)/2,e,t,r,n,r)}function Kr(){return function(A){var t=Hr,e=br,n=Fr,r=mr,o=null;function i(){var i,s=Cr.call(arguments),a=t.apply(this,s),u=e.apply(this,s);if(o||(o=i=vr()),A(o,+n.apply(this,(s[0]=a,s)),+r.apply(this,s),+n.apply(this,(s[0]=u,s)),+r.apply(this,s)),i)return o=null,i+\"\"||null}return i.source=function(A){return arguments.length?(t=A,i):t},i.target=function(A){return arguments.length?(e=A,i):e},i.x=function(A){return arguments.length?(n=\"function\"==typeof A?A:Ur(+A),i):n},i.y=function(A){return arguments.length?(r=\"function\"==typeof A?A:Ur(+A),i):r},i.context=function(A){return arguments.length?(o=null==A?null:A,i):o},i}(Nr)}function Ir(A,t){this._context=A,this._t=t}function Or(A){return new Ir(A,.5)}Er.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._point=0},lineEnd:function(){(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line=1-this._line},point:function(A,t){switch(A=+A,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(A,t):this._context.moveTo(A,t);break;case 1:this._point=2;default:this._context.lineTo(A,t)}}},Ir.prototype={areaStart:function(){this._line=0},areaEnd:function(){this._line=NaN},lineStart:function(){this._x=this._y=NaN,this._point=0},lineEnd:function(){0<this._t&&this._t<1&&2===this._point&&this._context.lineTo(this._x,this._y),(this._line||0!==this._line&&1===this._point)&&this._context.closePath(),this._line>=0&&(this._t=1-this._t,this._line=1-this._line)},point:function(A,t){switch(A=+A,t=+t,this._point){case 0:this._point=1,this._line?this._context.lineTo(A,t):this._context.moveTo(A,t);break;case 1:this._point=2;default:if(this._t<=0)this._context.lineTo(this._x,t),this._context.lineTo(A,t);else{var e=this._x*(1-this._t)+A*this._t;this._context.lineTo(e,this._y),this._context.lineTo(e,t)}}this._x=A,this._y=t}};var Tr=function A(t){function e(A){return 1-Math.pow(1-A,t)}return t=+t,e.exponent=A,e}(3),xr={value:()=>{}};function Sr(){for(var A,t=0,e=arguments.length,n={};t<e;++t){if(!(A=arguments[t]+\"\")||A in n||/[\\s.]/.test(A))throw new Error(\"illegal type: \"+A);n[A]=[]}return new Rr(n)}function Rr(A){this._=A}function Lr(A,t){return A.trim().split(/^|\\s+/).map((function(A){var e=\"\",n=A.indexOf(\".\");if(n>=0&&(e=A.slice(n+1),A=A.slice(0,n)),A&&!t.hasOwnProperty(A))throw new Error(\"unknown type: \"+A);return{type:A,name:e}}))}function Mr(A,t){for(var e,n=0,r=A.length;n<r;++n)if((e=A[n]).name===t)return e.value}function Dr(A,t,e){for(var n=0,r=A.length;n<r;++n)if(A[n].name===t){A[n]=xr,A=A.slice(0,n).concat(A.slice(n+1));break}return null!=e&&A.push({name:t,value:e}),A}Rr.prototype=Sr.prototype={constructor:Rr,on:function(A,t){var e,n=this._,r=Lr(A+\"\",n),o=-1,i=r.length;if(!(arguments.length<2)){if(null!=t&&\"function\"!=typeof t)throw new Error(\"invalid callback: \"+t);for(;++o<i;)if(e=(A=r[o]).type)n[e]=Dr(n[e],A.name,t);else if(null==t)for(e in n)n[e]=Dr(n[e],A.name,null);return this}for(;++o<i;)if((e=(A=r[o]).type)&&(e=Mr(n[e],A.name)))return e},copy:function(){var A={},t=this._;for(var e in t)A[e]=t[e].slice();return new Rr(A)},call:function(A,t){if((e=arguments.length-2)>0)for(var e,n,r=new Array(e),o=0;o<e;++o)r[o]=arguments[o+2];if(!this._.hasOwnProperty(A))throw new Error(\"unknown type: \"+A);for(o=0,e=(n=this._[A]).length;o<e;++o)n[o].value.apply(t,r)},apply:function(A,t,e){if(!this._.hasOwnProperty(A))throw new Error(\"unknown type: \"+A);for(var n=this._[A],r=0,o=n.length;r<o;++r)n[r].value.apply(t,e)}};var kr=\"http://www.w3.org/1999/xhtml\",Pr={svg:\"http://www.w3.org/2000/svg\",xhtml:kr,xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\",xmlns:\"http://www.w3.org/2000/xmlns/\"};function zr(A){var t=A+=\"\",e=t.indexOf(\":\");return e>=0&&\"xmlns\"!==(t=A.slice(0,e))&&(A=A.slice(e+1)),Pr.hasOwnProperty(t)?{space:Pr[t],local:A}:A}function Vr(A){return function(){var t=this.ownerDocument,e=this.namespaceURI;return e===kr&&t.documentElement.namespaceURI===kr?t.createElement(A):t.createElementNS(e,A)}}function Xr(A){return function(){return this.ownerDocument.createElementNS(A.space,A.local)}}function Jr(A){var t=zr(A);return(t.local?Xr:Vr)(t)}function Gr(){}function jr(A){return null==A?Gr:function(){return this.querySelector(A)}}function Wr(A){return\"object\"==typeof A&&\"length\"in A?A:Array.from(A)}function Yr(){return[]}function qr(A){return null==A?Yr:function(){return this.querySelectorAll(A)}}function $r(A){return function(){return this.matches(A)}}function Zr(A){return function(t){return t.matches(A)}}var Ao=Array.prototype.find;function to(){return this.firstElementChild}var eo=Array.prototype.filter;function no(){return this.children}function ro(A){return new Array(A.length)}function oo(A,t){this.ownerDocument=A.ownerDocument,this.namespaceURI=A.namespaceURI,this._next=null,this._parent=A,this.__data__=t}function io(A){return function(){return A}}function so(A,t,e,n,r,o){for(var i,s=0,a=t.length,u=o.length;s<u;++s)(i=t[s])?(i.__data__=o[s],n[s]=i):e[s]=new oo(A,o[s]);for(;s<a;++s)(i=t[s])&&(r[s]=i)}function ao(A,t,e,n,r,o,i){var s,a,u,c=new Map,l=t.length,f=o.length,h=new Array(l);for(s=0;s<l;++s)(a=t[s])&&(h[s]=u=i.call(a,a.__data__,s,t)+\"\",c.has(u)?r[s]=a:c.set(u,a));for(s=0;s<f;++s)u=i.call(A,o[s],s,o)+\"\",(a=c.get(u))?(n[s]=a,a.__data__=o[s],c.delete(u)):e[s]=new oo(A,o[s]);for(s=0;s<l;++s)(a=t[s])&&c.get(h[s])===a&&(r[s]=a)}function uo(A){return A.__data__}function co(A,t){return A<t?-1:A>t?1:A>=t?0:NaN}function lo(A){return function(){this.removeAttribute(A)}}function fo(A){return function(){this.removeAttributeNS(A.space,A.local)}}function ho(A,t){return function(){this.setAttribute(A,t)}}function Bo(A,t){return function(){this.setAttributeNS(A.space,A.local,t)}}function po(A,t){return function(){var e=t.apply(this,arguments);null==e?this.removeAttribute(A):this.setAttribute(A,e)}}function go(A,t){return function(){var e=t.apply(this,arguments);null==e?this.removeAttributeNS(A.space,A.local):this.setAttributeNS(A.space,A.local,e)}}function wo(A){return A.ownerDocument&&A.ownerDocument.defaultView||A.document&&A||A.defaultView}function Qo(A){return function(){this.style.removeProperty(A)}}function vo(A,t,e){return function(){this.style.setProperty(A,t,e)}}function Uo(A,t,e){return function(){var n=t.apply(this,arguments);null==n?this.style.removeProperty(A):this.style.setProperty(A,n,e)}}function Co(A,t){return A.style.getPropertyValue(t)||wo(A).getComputedStyle(A,null).getPropertyValue(t)}function Eo(A){return function(){delete this[A]}}function yo(A,t){return function(){this[A]=t}}function Fo(A,t){return function(){var e=t.apply(this,arguments);null==e?delete this[A]:this[A]=e}}function mo(A){return A.trim().split(/^|\\s+/)}function _o(A){return A.classList||new Ho(A)}function Ho(A){this._node=A,this._names=mo(A.getAttribute(\"class\")||\"\")}function bo(A,t){for(var e=_o(A),n=-1,r=t.length;++n<r;)e.add(t[n])}function No(A,t){for(var e=_o(A),n=-1,r=t.length;++n<r;)e.remove(t[n])}function Ko(A){return function(){bo(this,A)}}function Io(A){return function(){No(this,A)}}function Oo(A,t){return function(){(t.apply(this,arguments)?bo:No)(this,A)}}function To(){this.textContent=\"\"}function xo(A){return function(){this.textContent=A}}function So(A){return function(){var t=A.apply(this,arguments);this.textContent=null==t?\"\":t}}function Ro(){this.innerHTML=\"\"}function Lo(A){return function(){this.innerHTML=A}}function Mo(A){return function(){var t=A.apply(this,arguments);this.innerHTML=null==t?\"\":t}}function Do(){this.nextSibling&&this.parentNode.appendChild(this)}function ko(){this.previousSibling&&this.parentNode.insertBefore(this,this.parentNode.firstChild)}function Po(){return null}function zo(){var A=this.parentNode;A&&A.removeChild(this)}function Vo(){var A=this.cloneNode(!1),t=this.parentNode;return t?t.insertBefore(A,this.nextSibling):A}function Xo(){var A=this.cloneNode(!0),t=this.parentNode;return t?t.insertBefore(A,this.nextSibling):A}function Jo(A){return A.trim().split(/^|\\s+/).map((function(A){var t=\"\",e=A.indexOf(\".\");return e>=0&&(t=A.slice(e+1),A=A.slice(0,e)),{type:A,name:t}}))}function Go(A){return function(){var t=this.__on;if(t){for(var e,n=0,r=-1,o=t.length;n<o;++n)e=t[n],A.type&&e.type!==A.type||e.name!==A.name?t[++r]=e:this.removeEventListener(e.type,e.listener,e.options);++r?t.length=r:delete this.__on}}}function jo(A,t,e){return function(){var n,r=this.__on,o=function(A){return function(t){A.call(this,t,this.__data__)}}(t);if(r)for(var i=0,s=r.length;i<s;++i)if((n=r[i]).type===A.type&&n.name===A.name)return this.removeEventListener(n.type,n.listener,n.options),this.addEventListener(n.type,n.listener=o,n.options=e),void(n.value=t);this.addEventListener(A.type,o,e),n={type:A.type,name:A.name,value:t,listener:o,options:e},r?r.push(n):this.__on=[n]}}function Wo(A,t,e){var n=wo(A),r=n.CustomEvent;\"function\"==typeof r?r=new r(t,e):(r=n.document.createEvent(\"Event\"),e?(r.initEvent(t,e.bubbles,e.cancelable),r.detail=e.detail):r.initEvent(t,!1,!1)),A.dispatchEvent(r)}function Yo(A,t){return function(){return Wo(this,A,t)}}function qo(A,t){return function(){return Wo(this,A,t.apply(this,arguments))}}oo.prototype={constructor:oo,appendChild:function(A){return this._parent.insertBefore(A,this._next)},insertBefore:function(A,t){return this._parent.insertBefore(A,t)},querySelector:function(A){return this._parent.querySelector(A)},querySelectorAll:function(A){return this._parent.querySelectorAll(A)}},Ho.prototype={add:function(A){this._names.indexOf(A)<0&&(this._names.push(A),this._node.setAttribute(\"class\",this._names.join(\" \")))},remove:function(A){var t=this._names.indexOf(A);t>=0&&(this._names.splice(t,1),this._node.setAttribute(\"class\",this._names.join(\" \")))},contains:function(A){return this._names.indexOf(A)>=0}};var $o=[null];function Zo(A,t){this._groups=A,this._parents=t}function Ai(){return new Zo([[document.documentElement]],$o)}function ti(A){return\"string\"==typeof A?new Zo([[document.querySelector(A)]],[document.documentElement]):new Zo([[A]],$o)}function ei(A,t){if(A=function(A){let t;for(;t=A.sourceEvent;)A=t;return A}(A),void 0===t&&(t=A.currentTarget),t){var e=t.ownerSVGElement||t;if(e.createSVGPoint){var n=e.createSVGPoint();return n.x=A.clientX,n.y=A.clientY,[(n=n.matrixTransform(t.getScreenCTM().inverse())).x,n.y]}if(t.getBoundingClientRect){var r=t.getBoundingClientRect();return[A.clientX-r.left-t.clientLeft,A.clientY-r.top-t.clientTop]}}return[A.pageX,A.pageY]}function ni(A){A.stopImmediatePropagation()}function ri(A){A.preventDefault(),A.stopImmediatePropagation()}function oi(A){var t=A.document.documentElement,e=ti(A).on(\"dragstart.drag\",ri,!0);\"onselectstart\"in t?e.on(\"selectstart.drag\",ri,!0):(t.__noselect=t.style.MozUserSelect,t.style.MozUserSelect=\"none\")}function ii(A,t){var e=A.document.documentElement,n=ti(A).on(\"dragstart.drag\",null);t&&(n.on(\"click.drag\",ri,!0),setTimeout((function(){n.on(\"click.drag\",null)}),0)),\"onselectstart\"in e?n.on(\"selectstart.drag\",null):(e.style.MozUserSelect=e.__noselect,delete e.__noselect)}Zo.prototype=Ai.prototype={constructor:Zo,select:function(A){\"function\"!=typeof A&&(A=jr(A));for(var t=this._groups,e=t.length,n=new Array(e),r=0;r<e;++r)for(var o,i,s=t[r],a=s.length,u=n[r]=new Array(a),c=0;c<a;++c)(o=s[c])&&(i=A.call(o,o.__data__,c,s))&&(\"__data__\"in o&&(i.__data__=o.__data__),u[c]=i);return new Zo(n,this._parents)},selectAll:function(A){A=\"function\"==typeof A?function(A){return function(){var t=A.apply(this,arguments);return null==t?[]:Wr(t)}}(A):qr(A);for(var t=this._groups,e=t.length,n=[],r=[],o=0;o<e;++o)for(var i,s=t[o],a=s.length,u=0;u<a;++u)(i=s[u])&&(n.push(A.call(i,i.__data__,u,s)),r.push(i));return new Zo(n,r)},selectChild:function(A){return this.select(null==A?to:function(A){return function(){return Ao.call(this.children,A)}}(\"function\"==typeof A?A:Zr(A)))},selectChildren:function(A){return this.selectAll(null==A?no:function(A){return function(){return eo.call(this.children,A)}}(\"function\"==typeof A?A:Zr(A)))},filter:function(A){\"function\"!=typeof A&&(A=$r(A));for(var t=this._groups,e=t.length,n=new Array(e),r=0;r<e;++r)for(var o,i=t[r],s=i.length,a=n[r]=[],u=0;u<s;++u)(o=i[u])&&A.call(o,o.__data__,u,i)&&a.push(o);return new Zo(n,this._parents)},data:function(A,t){if(!arguments.length)return Array.from(this,uo);var e=t?ao:so,n=this._parents,r=this._groups;\"function\"!=typeof A&&(A=io(A));for(var o=r.length,i=new Array(o),s=new Array(o),a=new Array(o),u=0;u<o;++u){var c=n[u],l=r[u],f=l.length,h=Wr(A.call(c,c&&c.__data__,u,n)),B=h.length,p=s[u]=new Array(B),g=i[u]=new Array(B),d=a[u]=new Array(f);e(c,l,p,g,d,h,t);for(var w,Q,v=0,U=0;v<B;++v)if(w=p[v]){for(v>=U&&(U=v+1);!(Q=g[U])&&++U<B;);w._next=Q||null}}return(i=new Zo(i,n))._enter=s,i._exit=a,i},enter:function(){return new Zo(this._enter||this._groups.map(ro),this._parents)},exit:function(){return new Zo(this._exit||this._groups.map(ro),this._parents)},join:function(A,t,e){var n=this.enter(),r=this,o=this.exit();return n=\"function\"==typeof A?A(n):n.append(A+\"\"),null!=t&&(r=t(r)),null==e?o.remove():e(o),n&&r?n.merge(r).order():r},merge:function(A){if(!(A instanceof Zo))throw new Error(\"invalid merge\");for(var t=this._groups,e=A._groups,n=t.length,r=e.length,o=Math.min(n,r),i=new Array(n),s=0;s<o;++s)for(var a,u=t[s],c=e[s],l=u.length,f=i[s]=new Array(l),h=0;h<l;++h)(a=u[h]||c[h])&&(f[h]=a);for(;s<n;++s)i[s]=t[s];return new Zo(i,this._parents)},selection:function(){return this},order:function(){for(var A=this._groups,t=-1,e=A.length;++t<e;)for(var n,r=A[t],o=r.length-1,i=r[o];--o>=0;)(n=r[o])&&(i&&4^n.compareDocumentPosition(i)&&i.parentNode.insertBefore(n,i),i=n);return this},sort:function(A){function t(t,e){return t&&e?A(t.__data__,e.__data__):!t-!e}A||(A=co);for(var e=this._groups,n=e.length,r=new Array(n),o=0;o<n;++o){for(var i,s=e[o],a=s.length,u=r[o]=new Array(a),c=0;c<a;++c)(i=s[c])&&(u[c]=i);u.sort(t)}return new Zo(r,this._parents).order()},call:function(){var A=arguments[0];return arguments[0]=this,A.apply(null,arguments),this},nodes:function(){return Array.from(this)},node:function(){for(var A=this._groups,t=0,e=A.length;t<e;++t)for(var n=A[t],r=0,o=n.length;r<o;++r){var i=n[r];if(i)return i}return null},size:function(){let A=0;for(const t of this)++A;return A},empty:function(){return!this.node()},each:function(A){for(var t=this._groups,e=0,n=t.length;e<n;++e)for(var r,o=t[e],i=0,s=o.length;i<s;++i)(r=o[i])&&A.call(r,r.__data__,i,o);return this},attr:function(A,t){var e=zr(A);if(arguments.length<2){var n=this.node();return e.local?n.getAttributeNS(e.space,e.local):n.getAttribute(e)}return this.each((null==t?e.local?fo:lo:\"function\"==typeof t?e.local?go:po:e.local?Bo:ho)(e,t))},style:function(A,t,e){return arguments.length>1?this.each((null==t?Qo:\"function\"==typeof t?Uo:vo)(A,t,null==e?\"\":e)):Co(this.node(),A)},property:function(A,t){return arguments.length>1?this.each((null==t?Eo:\"function\"==typeof t?Fo:yo)(A,t)):this.node()[A]},classed:function(A,t){var e=mo(A+\"\");if(arguments.length<2){for(var n=_o(this.node()),r=-1,o=e.length;++r<o;)if(!n.contains(e[r]))return!1;return!0}return this.each((\"function\"==typeof t?Oo:t?Ko:Io)(e,t))},text:function(A){return arguments.length?this.each(null==A?To:(\"function\"==typeof A?So:xo)(A)):this.node().textContent},html:function(A){return arguments.length?this.each(null==A?Ro:(\"function\"==typeof A?Mo:Lo)(A)):this.node().innerHTML},raise:function(){return this.each(Do)},lower:function(){return this.each(ko)},append:function(A){var t=\"function\"==typeof A?A:Jr(A);return this.select((function(){return this.appendChild(t.apply(this,arguments))}))},insert:function(A,t){var e=\"function\"==typeof A?A:Jr(A),n=null==t?Po:\"function\"==typeof t?t:jr(t);return this.select((function(){return this.insertBefore(e.apply(this,arguments),n.apply(this,arguments)||null)}))},remove:function(){return this.each(zo)},clone:function(A){return this.select(A?Xo:Vo)},datum:function(A){return arguments.length?this.property(\"__data__\",A):this.node().__data__},on:function(A,t,e){var n,r,o=Jo(A+\"\"),i=o.length;if(!(arguments.length<2)){for(s=t?jo:Go,n=0;n<i;++n)this.each(s(o[n],t,e));return this}var s=this.node().__on;if(s)for(var a,u=0,c=s.length;u<c;++u)for(n=0,a=s[u];n<i;++n)if((r=o[n]).type===a.type&&r.name===a.name)return a.value},dispatch:function(A,t){return this.each((\"function\"==typeof t?qo:Yo)(A,t))},[Symbol.iterator]:function*(){for(var A=this._groups,t=0,e=A.length;t<e;++t)for(var n,r=A[t],o=0,i=r.length;o<i;++o)(n=r[o])&&(yield n)}};var si=A=>()=>A;function ai(A,{sourceEvent:t,subject:e,target:n,identifier:r,active:o,x:i,y:s,dx:a,dy:u,dispatch:c}){Object.defineProperties(this,{type:{value:A,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},subject:{value:e,enumerable:!0,configurable:!0},target:{value:n,enumerable:!0,configurable:!0},identifier:{value:r,enumerable:!0,configurable:!0},active:{value:o,enumerable:!0,configurable:!0},x:{value:i,enumerable:!0,configurable:!0},y:{value:s,enumerable:!0,configurable:!0},dx:{value:a,enumerable:!0,configurable:!0},dy:{value:u,enumerable:!0,configurable:!0},_:{value:c}})}function ui(A){return!A.ctrlKey&&!A.button}function ci(){return this.parentNode}function li(A,t){return null==t?{x:A.x,y:A.y}:t}function fi(){return navigator.maxTouchPoints||\"ontouchstart\"in this}function hi(){var A,t,e,n,r=ui,o=ci,i=li,s=fi,a={},u=Sr(\"start\",\"drag\",\"end\"),c=0,l=0;function f(A){A.on(\"mousedown.drag\",h).filter(s).on(\"touchstart.drag\",g).on(\"touchmove.drag\",d).on(\"touchend.drag touchcancel.drag\",w).style(\"touch-action\",\"none\").style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\")}function h(i,s){if(!n&&r.call(this,i,s)){var a=Q(this,o.call(this,i,s),i,s,\"mouse\");a&&(ti(i.view).on(\"mousemove.drag\",B,!0).on(\"mouseup.drag\",p,!0),oi(i.view),ni(i),e=!1,A=i.clientX,t=i.clientY,a(\"start\",i))}}function B(n){if(ri(n),!e){var r=n.clientX-A,o=n.clientY-t;e=r*r+o*o>l}a.mouse(\"drag\",n)}function p(A){ti(A.view).on(\"mousemove.drag mouseup.drag\",null),ii(A.view,e),ri(A),a.mouse(\"end\",A)}function g(A,t){if(r.call(this,A,t)){var e,n,i=A.changedTouches,s=o.call(this,A,t),a=i.length;for(e=0;e<a;++e)(n=Q(this,s,A,t,i[e].identifier,i[e]))&&(ni(A),n(\"start\",A,i[e]))}}function d(A){var t,e,n=A.changedTouches,r=n.length;for(t=0;t<r;++t)(e=a[n[t].identifier])&&(ri(A),e(\"drag\",A,n[t]))}function w(A){var t,e,r=A.changedTouches,o=r.length;for(n&&clearTimeout(n),n=setTimeout((function(){n=null}),500),t=0;t<o;++t)(e=a[r[t].identifier])&&(ni(A),e(\"end\",A,r[t]))}function Q(A,t,e,n,r,o){var s,l,h,B=u.copy(),p=ei(o||e,t);if(null!=(h=i.call(A,new ai(\"beforestart\",{sourceEvent:e,target:f,identifier:r,active:c,x:p[0],y:p[1],dx:0,dy:0,dispatch:B}),n)))return s=h.x-p[0]||0,l=h.y-p[1]||0,function e(o,i,u){var g,d=p;switch(o){case\"start\":a[r]=e,g=c++;break;case\"end\":delete a[r],--c;case\"drag\":p=ei(u||i,t),g=c}B.call(o,A,new ai(o,{sourceEvent:i,subject:h,target:f,identifier:r,active:g,x:p[0]+s,y:p[1]+l,dx:p[0]-d[0],dy:p[1]-d[1],dispatch:B}),n)}}return f.filter=function(A){return arguments.length?(r=\"function\"==typeof A?A:si(!!A),f):r},f.container=function(A){return arguments.length?(o=\"function\"==typeof A?A:si(A),f):o},f.subject=function(A){return arguments.length?(i=\"function\"==typeof A?A:si(A),f):i},f.touchable=function(A){return arguments.length?(s=\"function\"==typeof A?A:si(!!A),f):s},f.on=function(){var A=u.on.apply(u,arguments);return A===u?f:A},f.clickDistance=function(A){return arguments.length?(l=(A=+A)*A,f):Math.sqrt(l)},f}function Bi(A,t,e){A.prototype=t.prototype=e,e.constructor=A}function pi(A,t){var e=Object.create(A.prototype);for(var n in t)e[n]=t[n];return e}function gi(){}ai.prototype.on=function(){var A=this._.on.apply(this._,arguments);return A===this._?this:A};var di=1/.7,wi=\"\\\\s*([+-]?\\\\d+)\\\\s*\",Qi=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)\\\\s*\",vi=\"\\\\s*([+-]?\\\\d*\\\\.?\\\\d+(?:[eE][+-]?\\\\d+)?)%\\\\s*\",Ui=/^#([0-9a-f]{3,8})$/,Ci=new RegExp(\"^rgb\\\\(\"+[wi,wi,wi]+\"\\\\)$\"),Ei=new RegExp(\"^rgb\\\\(\"+[vi,vi,vi]+\"\\\\)$\"),yi=new RegExp(\"^rgba\\\\(\"+[wi,wi,wi,Qi]+\"\\\\)$\"),Fi=new RegExp(\"^rgba\\\\(\"+[vi,vi,vi,Qi]+\"\\\\)$\"),mi=new RegExp(\"^hsl\\\\(\"+[Qi,vi,vi]+\"\\\\)$\"),_i=new RegExp(\"^hsla\\\\(\"+[Qi,vi,vi,Qi]+\"\\\\)$\"),Hi={aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074};function bi(){return this.rgb().formatHex()}function Ni(){return this.rgb().formatRgb()}function Ki(A){var t,e;return A=(A+\"\").trim().toLowerCase(),(t=Ui.exec(A))?(e=t[1].length,t=parseInt(t[1],16),6===e?Ii(t):3===e?new Si(t>>8&15|t>>4&240,t>>4&15|240&t,(15&t)<<4|15&t,1):8===e?Oi(t>>24&255,t>>16&255,t>>8&255,(255&t)/255):4===e?Oi(t>>12&15|t>>8&240,t>>8&15|t>>4&240,t>>4&15|240&t,((15&t)<<4|15&t)/255):null):(t=Ci.exec(A))?new Si(t[1],t[2],t[3],1):(t=Ei.exec(A))?new Si(255*t[1]/100,255*t[2]/100,255*t[3]/100,1):(t=yi.exec(A))?Oi(t[1],t[2],t[3],t[4]):(t=Fi.exec(A))?Oi(255*t[1]/100,255*t[2]/100,255*t[3]/100,t[4]):(t=mi.exec(A))?Di(t[1],t[2]/100,t[3]/100,1):(t=_i.exec(A))?Di(t[1],t[2]/100,t[3]/100,t[4]):Hi.hasOwnProperty(A)?Ii(Hi[A]):\"transparent\"===A?new Si(NaN,NaN,NaN,0):null}function Ii(A){return new Si(A>>16&255,A>>8&255,255&A,1)}function Oi(A,t,e,n){return n<=0&&(A=t=e=NaN),new Si(A,t,e,n)}function Ti(A){return A instanceof gi||(A=Ki(A)),A?new Si((A=A.rgb()).r,A.g,A.b,A.opacity):new Si}function xi(A,t,e,n){return 1===arguments.length?Ti(A):new Si(A,t,e,null==n?1:n)}function Si(A,t,e,n){this.r=+A,this.g=+t,this.b=+e,this.opacity=+n}function Ri(){return\"#\"+Mi(this.r)+Mi(this.g)+Mi(this.b)}function Li(){var A=this.opacity;return(1===(A=isNaN(A)?1:Math.max(0,Math.min(1,A)))?\"rgb(\":\"rgba(\")+Math.max(0,Math.min(255,Math.round(this.r)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.g)||0))+\", \"+Math.max(0,Math.min(255,Math.round(this.b)||0))+(1===A?\")\":\", \"+A+\")\")}function Mi(A){return((A=Math.max(0,Math.min(255,Math.round(A)||0)))<16?\"0\":\"\")+A.toString(16)}function Di(A,t,e,n){return n<=0?A=t=e=NaN:e<=0||e>=1?A=t=NaN:t<=0&&(A=NaN),new Pi(A,t,e,n)}function ki(A){if(A instanceof Pi)return new Pi(A.h,A.s,A.l,A.opacity);if(A instanceof gi||(A=Ki(A)),!A)return new Pi;if(A instanceof Pi)return A;var t=(A=A.rgb()).r/255,e=A.g/255,n=A.b/255,r=Math.min(t,e,n),o=Math.max(t,e,n),i=NaN,s=o-r,a=(o+r)/2;return s?(i=t===o?(e-n)/s+6*(e<n):e===o?(n-t)/s+2:(t-e)/s+4,s/=a<.5?o+r:2-o-r,i*=60):s=a>0&&a<1?0:i,new Pi(i,s,a,A.opacity)}function Pi(A,t,e,n){this.h=+A,this.s=+t,this.l=+e,this.opacity=+n}function zi(A,t,e){return 255*(A<60?t+(e-t)*A/60:A<180?e:A<240?t+(e-t)*(240-A)/60:t)}Bi(gi,Ki,{copy:function(A){return Object.assign(new this.constructor,this,A)},displayable:function(){return this.rgb().displayable()},hex:bi,formatHex:bi,formatHsl:function(){return ki(this).formatHsl()},formatRgb:Ni,toString:Ni}),Bi(Si,xi,pi(gi,{brighter:function(A){return A=null==A?di:Math.pow(di,A),new Si(this.r*A,this.g*A,this.b*A,this.opacity)},darker:function(A){return A=null==A?.7:Math.pow(.7,A),new Si(this.r*A,this.g*A,this.b*A,this.opacity)},rgb:function(){return this},displayable:function(){return-.5<=this.r&&this.r<255.5&&-.5<=this.g&&this.g<255.5&&-.5<=this.b&&this.b<255.5&&0<=this.opacity&&this.opacity<=1},hex:Ri,formatHex:Ri,formatRgb:Li,toString:Li})),Bi(Pi,(function(A,t,e,n){return 1===arguments.length?ki(A):new Pi(A,t,e,null==n?1:n)}),pi(gi,{brighter:function(A){return A=null==A?di:Math.pow(di,A),new Pi(this.h,this.s,this.l*A,this.opacity)},darker:function(A){return A=null==A?.7:Math.pow(.7,A),new Pi(this.h,this.s,this.l*A,this.opacity)},rgb:function(){var A=this.h%360+360*(this.h<0),t=isNaN(A)||isNaN(this.s)?0:this.s,e=this.l,n=e+(e<.5?e:1-e)*t,r=2*e-n;return new Si(zi(A>=240?A-240:A+120,r,n),zi(A,r,n),zi(A<120?A+240:A-120,r,n),this.opacity)},displayable:function(){return(0<=this.s&&this.s<=1||isNaN(this.s))&&0<=this.l&&this.l<=1&&0<=this.opacity&&this.opacity<=1},formatHsl:function(){var A=this.opacity;return(1===(A=isNaN(A)?1:Math.max(0,Math.min(1,A)))?\"hsl(\":\"hsla(\")+(this.h||0)+\", \"+100*(this.s||0)+\"%, \"+100*(this.l||0)+\"%\"+(1===A?\")\":\", \"+A+\")\")}}));var Vi=A=>()=>A;function Xi(A){return 1==(A=+A)?Ji:function(t,e){return e-t?function(A,t,e){return A=Math.pow(A,e),t=Math.pow(t,e)-A,e=1/e,function(n){return Math.pow(A+n*t,e)}}(t,e,A):Vi(isNaN(t)?e:t)}}function Ji(A,t){var e=t-A;return e?function(A,t){return function(e){return A+e*t}}(A,e):Vi(isNaN(A)?t:A)}var Gi=function A(t){var e=Xi(t);function n(A,t){var n=e((A=xi(A)).r,(t=xi(t)).r),r=e(A.g,t.g),o=e(A.b,t.b),i=Ji(A.opacity,t.opacity);return function(t){return A.r=n(t),A.g=r(t),A.b=o(t),A.opacity=i(t),A+\"\"}}return n.gamma=A,n}(1);function ji(A,t){t||(t=[]);var e,n=A?Math.min(t.length,A.length):0,r=t.slice();return function(o){for(e=0;e<n;++e)r[e]=A[e]*(1-o)+t[e]*o;return r}}function Wi(A,t){var e,n=t?t.length:0,r=A?Math.min(n,A.length):0,o=new Array(r),i=new Array(n);for(e=0;e<r;++e)o[e]=es(A[e],t[e]);for(;e<n;++e)i[e]=t[e];return function(A){for(e=0;e<r;++e)i[e]=o[e](A);return i}}function Yi(A,t){var e=new Date;return A=+A,t=+t,function(n){return e.setTime(A*(1-n)+t*n),e}}function qi(A,t){return A=+A,t=+t,function(e){return A*(1-e)+t*e}}function $i(A,t){var e,n={},r={};for(e in null!==A&&\"object\"==typeof A||(A={}),null!==t&&\"object\"==typeof t||(t={}),t)e in A?n[e]=es(A[e],t[e]):r[e]=t[e];return function(A){for(e in n)r[e]=n[e](A);return r}}var Zi=/[-+]?(?:\\d+\\.?\\d*|\\.?\\d+)(?:[eE][-+]?\\d+)?/g,As=new RegExp(Zi.source,\"g\");function ts(A,t){var e,n,r,o=Zi.lastIndex=As.lastIndex=0,i=-1,s=[],a=[];for(A+=\"\",t+=\"\";(e=Zi.exec(A))&&(n=As.exec(t));)(r=n.index)>o&&(r=t.slice(o,r),s[i]?s[i]+=r:s[++i]=r),(e=e[0])===(n=n[0])?s[i]?s[i]+=n:s[++i]=n:(s[++i]=null,a.push({i:i,x:qi(e,n)})),o=As.lastIndex;return o<t.length&&(r=t.slice(o),s[i]?s[i]+=r:s[++i]=r),s.length<2?a[0]?function(A){return function(t){return A(t)+\"\"}}(a[0].x):function(A){return function(){return A}}(t):(t=a.length,function(A){for(var e,n=0;n<t;++n)s[(e=a[n]).i]=e.x(A);return s.join(\"\")})}function es(A,t){var e,n,r=typeof t;return null==t||\"boolean\"===r?Vi(t):(\"number\"===r?qi:\"string\"===r?(e=Ki(t))?(t=e,Gi):ts:t instanceof Ki?Gi:t instanceof Date?Yi:(n=t,!ArrayBuffer.isView(n)||n instanceof DataView?Array.isArray(t)?Wi:\"function\"!=typeof t.valueOf&&\"function\"!=typeof t.toString||isNaN(t)?$i:qi:ji))(A,t)}var ns,rs=180/Math.PI,os={translateX:0,translateY:0,rotate:0,skewX:0,scaleX:1,scaleY:1};function is(A,t,e,n,r,o){var i,s,a;return(i=Math.sqrt(A*A+t*t))&&(A/=i,t/=i),(a=A*e+t*n)&&(e-=A*a,n-=t*a),(s=Math.sqrt(e*e+n*n))&&(e/=s,n/=s,a/=s),A*n<t*e&&(A=-A,t=-t,a=-a,i=-i),{translateX:r,translateY:o,rotate:Math.atan2(t,A)*rs,skewX:Math.atan(a)*rs,scaleX:i,scaleY:s}}function ss(A,t,e,n){function r(A){return A.length?A.pop()+\" \":\"\"}return function(o,i){var s=[],a=[];return o=A(o),i=A(i),function(A,n,r,o,i,s){if(A!==r||n!==o){var a=i.push(\"translate(\",null,t,null,e);s.push({i:a-4,x:qi(A,r)},{i:a-2,x:qi(n,o)})}else(r||o)&&i.push(\"translate(\"+r+t+o+e)}(o.translateX,o.translateY,i.translateX,i.translateY,s,a),function(A,t,e,o){A!==t?(A-t>180?t+=360:t-A>180&&(A+=360),o.push({i:e.push(r(e)+\"rotate(\",null,n)-2,x:qi(A,t)})):t&&e.push(r(e)+\"rotate(\"+t+n)}(o.rotate,i.rotate,s,a),function(A,t,e,o){A!==t?o.push({i:e.push(r(e)+\"skewX(\",null,n)-2,x:qi(A,t)}):t&&e.push(r(e)+\"skewX(\"+t+n)}(o.skewX,i.skewX,s,a),function(A,t,e,n,o,i){if(A!==e||t!==n){var s=o.push(r(o)+\"scale(\",null,\",\",null,\")\");i.push({i:s-4,x:qi(A,e)},{i:s-2,x:qi(t,n)})}else 1===e&&1===n||o.push(r(o)+\"scale(\"+e+\",\"+n+\")\")}(o.scaleX,o.scaleY,i.scaleX,i.scaleY,s,a),o=i=null,function(A){for(var t,e=-1,n=a.length;++e<n;)s[(t=a[e]).i]=t.x(A);return s.join(\"\")}}}var as=ss((function(A){const t=new(\"function\"==typeof DOMMatrix?DOMMatrix:WebKitCSSMatrix)(A+\"\");return t.isIdentity?os:is(t.a,t.b,t.c,t.d,t.e,t.f)}),\"px, \",\"px)\",\"deg)\"),us=ss((function(A){return null==A?os:(ns||(ns=document.createElementNS(\"http://www.w3.org/2000/svg\",\"g\")),ns.setAttribute(\"transform\",A),(A=ns.transform.baseVal.consolidate())?is((A=A.matrix).a,A.b,A.c,A.d,A.e,A.f):os)}),\", \",\")\",\")\");function cs(A){return((A=Math.exp(A))+1/A)/2}var ls,fs,hs=function A(t,e,n){function r(A,r){var o,i,s=A[0],a=A[1],u=A[2],c=r[0],l=r[1],f=r[2],h=c-s,B=l-a,p=h*h+B*B;if(p<1e-12)i=Math.log(f/u)/t,o=function(A){return[s+A*h,a+A*B,u*Math.exp(t*A*i)]};else{var g=Math.sqrt(p),d=(f*f-u*u+n*p)/(2*u*e*g),w=(f*f-u*u-n*p)/(2*f*e*g),Q=Math.log(Math.sqrt(d*d+1)-d),v=Math.log(Math.sqrt(w*w+1)-w);i=(v-Q)/t,o=function(A){var n,r=A*i,o=cs(Q),c=u/(e*g)*(o*(n=t*r+Q,((n=Math.exp(2*n))-1)/(n+1))-function(A){return((A=Math.exp(A))-1/A)/2}(Q));return[s+c*h,a+c*B,u*o/cs(t*r+Q)]}}return o.duration=1e3*i*t/Math.SQRT2,o}return r.rho=function(t){var e=Math.max(.001,+t),n=e*e;return A(e,n,n*n)},r}(Math.SQRT2,2,4),Bs=0,ps=0,gs=0,ds=0,ws=0,Qs=0,vs=\"object\"==typeof performance&&performance.now?performance:Date,Us=\"object\"==typeof window&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):function(A){setTimeout(A,17)};function Cs(){return ws||(Us(Es),ws=vs.now()+Qs)}function Es(){ws=0}function ys(){this._call=this._time=this._next=null}function Fs(A,t,e){var n=new ys;return n.restart(A,t,e),n}function ms(){ws=(ds=vs.now())+Qs,Bs=ps=0;try{!function(){Cs(),++Bs;for(var A,t=ls;t;)(A=ws-t._time)>=0&&t._call.call(null,A),t=t._next;--Bs}()}finally{Bs=0,function(){var A,t,e=ls,n=1/0;for(;e;)e._call?(n>e._time&&(n=e._time),A=e,e=e._next):(t=e._next,e._next=null,e=A?A._next=t:ls=t);fs=A,Hs(n)}(),ws=0}}function _s(){var A=vs.now(),t=A-ds;t>1e3&&(Qs-=t,ds=A)}function Hs(A){Bs||(ps&&(ps=clearTimeout(ps)),A-ws>24?(A<1/0&&(ps=setTimeout(ms,A-vs.now()-Qs)),gs&&(gs=clearInterval(gs))):(gs||(ds=vs.now(),gs=setInterval(_s,1e3)),Bs=1,Us(ms)))}function bs(A,t,e){var n=new ys;return t=null==t?0:+t,n.restart((e=>{n.stop(),A(e+t)}),t,e),n}ys.prototype=Fs.prototype={constructor:ys,restart:function(A,t,e){if(\"function\"!=typeof A)throw new TypeError(\"callback is not a function\");e=(null==e?Cs():+e)+(null==t?0:+t),this._next||fs===this||(fs?fs._next=this:ls=this,fs=this),this._call=A,this._time=e,Hs()},stop:function(){this._call&&(this._call=null,this._time=1/0,Hs())}};var Ns=Sr(\"start\",\"end\",\"cancel\",\"interrupt\"),Ks=[];function Is(A,t,e,n,r,o){var i=A.__transition;if(i){if(e in i)return}else A.__transition={};!function(A,t,e){var n,r=A.__transition;function o(A){e.state=1,e.timer.restart(i,e.delay,e.time),e.delay<=A&&i(A-e.delay)}function i(o){var u,c,l,f;if(1!==e.state)return a();for(u in r)if((f=r[u]).name===e.name){if(3===f.state)return bs(i);4===f.state?(f.state=6,f.timer.stop(),f.on.call(\"interrupt\",A,A.__data__,f.index,f.group),delete r[u]):+u<t&&(f.state=6,f.timer.stop(),f.on.call(\"cancel\",A,A.__data__,f.index,f.group),delete r[u])}if(bs((function(){3===e.state&&(e.state=4,e.timer.restart(s,e.delay,e.time),s(o))})),e.state=2,e.on.call(\"start\",A,A.__data__,e.index,e.group),2===e.state){for(e.state=3,n=new Array(l=e.tween.length),u=0,c=-1;u<l;++u)(f=e.tween[u].value.call(A,A.__data__,e.index,e.group))&&(n[++c]=f);n.length=c+1}}function s(t){for(var r=t<e.duration?e.ease.call(null,t/e.duration):(e.timer.restart(a),e.state=5,1),o=-1,i=n.length;++o<i;)n[o].call(A,r);5===e.state&&(e.on.call(\"end\",A,A.__data__,e.index,e.group),a())}function a(){for(var n in e.state=6,e.timer.stop(),delete r[t],r)return;delete A.__transition}r[t]=e,e.timer=Fs(o,0,e.time)}(A,e,{name:t,index:n,group:r,on:Ns,tween:Ks,time:o.time,delay:o.delay,duration:o.duration,ease:o.ease,timer:null,state:0})}function Os(A,t){var e=xs(A,t);if(e.state>0)throw new Error(\"too late; already scheduled\");return e}function Ts(A,t){var e=xs(A,t);if(e.state>3)throw new Error(\"too late; already running\");return e}function xs(A,t){var e=A.__transition;if(!e||!(e=e[t]))throw new Error(\"transition not found\");return e}function Ss(A,t){var e,n,r,o=A.__transition,i=!0;if(o){for(r in t=null==t?null:t+\"\",o)(e=o[r]).name===t?(n=e.state>2&&e.state<5,e.state=6,e.timer.stop(),e.on.call(n?\"interrupt\":\"cancel\",A,A.__data__,e.index,e.group),delete o[r]):i=!1;i&&delete A.__transition}}function Rs(A,t){var e,n;return function(){var r=Ts(this,A),o=r.tween;if(o!==e)for(var i=0,s=(n=e=o).length;i<s;++i)if(n[i].name===t){(n=n.slice()).splice(i,1);break}r.tween=n}}function Ls(A,t,e){var n,r;if(\"function\"!=typeof e)throw new Error;return function(){var o=Ts(this,A),i=o.tween;if(i!==n){r=(n=i).slice();for(var s={name:t,value:e},a=0,u=r.length;a<u;++a)if(r[a].name===t){r[a]=s;break}a===u&&r.push(s)}o.tween=r}}function Ms(A,t,e){var n=A._id;return A.each((function(){var A=Ts(this,n);(A.value||(A.value={}))[t]=e.apply(this,arguments)})),function(A){return xs(A,n).value[t]}}function Ds(A,t){var e;return(\"number\"==typeof t?qi:t instanceof Ki?Gi:(e=Ki(t))?(t=e,Gi):ts)(A,t)}function ks(A){return function(){this.removeAttribute(A)}}function Ps(A){return function(){this.removeAttributeNS(A.space,A.local)}}function zs(A,t,e){var n,r,o=e+\"\";return function(){var i=this.getAttribute(A);return i===o?null:i===n?r:r=t(n=i,e)}}function Vs(A,t,e){var n,r,o=e+\"\";return function(){var i=this.getAttributeNS(A.space,A.local);return i===o?null:i===n?r:r=t(n=i,e)}}function Xs(A,t,e){var n,r,o;return function(){var i,s,a=e(this);if(null!=a)return(i=this.getAttribute(A))===(s=a+\"\")?null:i===n&&s===r?o:(r=s,o=t(n=i,a));this.removeAttribute(A)}}function Js(A,t,e){var n,r,o;return function(){var i,s,a=e(this);if(null!=a)return(i=this.getAttributeNS(A.space,A.local))===(s=a+\"\")?null:i===n&&s===r?o:(r=s,o=t(n=i,a));this.removeAttributeNS(A.space,A.local)}}function Gs(A,t){return function(e){this.setAttribute(A,t.call(this,e))}}function js(A,t){return function(e){this.setAttributeNS(A.space,A.local,t.call(this,e))}}function Ws(A,t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&js(A,r)),e}return r._value=t,r}function Ys(A,t){var e,n;function r(){var r=t.apply(this,arguments);return r!==n&&(e=(n=r)&&Gs(A,r)),e}return r._value=t,r}function qs(A,t){return function(){Os(this,A).delay=+t.apply(this,arguments)}}function $s(A,t){return t=+t,function(){Os(this,A).delay=t}}function Zs(A,t){return function(){Ts(this,A).duration=+t.apply(this,arguments)}}function Aa(A,t){return t=+t,function(){Ts(this,A).duration=t}}function ta(A,t){if(\"function\"!=typeof t)throw new Error;return function(){Ts(this,A).ease=t}}function ea(A,t,e){var n,r,o=function(A){return(A+\"\").trim().split(/^|\\s+/).every((function(A){var t=A.indexOf(\".\");return t>=0&&(A=A.slice(0,t)),!A||\"start\"===A}))}(t)?Os:Ts;return function(){var i=o(this,A),s=i.on;s!==n&&(r=(n=s).copy()).on(t,e),i.on=r}}var na=Ai.prototype.constructor;function ra(A){return function(){this.style.removeProperty(A)}}function oa(A,t,e){return function(n){this.style.setProperty(A,t.call(this,n),e)}}function ia(A,t,e){var n,r;function o(){var o=t.apply(this,arguments);return o!==r&&(n=(r=o)&&oa(A,o,e)),n}return o._value=t,o}function sa(A){return function(t){this.textContent=A.call(this,t)}}function aa(A){var t,e;function n(){var n=A.apply(this,arguments);return n!==e&&(t=(e=n)&&sa(n)),t}return n._value=A,n}var ua=0;function ca(A,t,e,n){this._groups=A,this._parents=t,this._name=e,this._id=n}function la(A){return Ai().transition(A)}function fa(){return++ua}var ha=Ai.prototype;ca.prototype=la.prototype={constructor:ca,select:function(A){var t=this._name,e=this._id;\"function\"!=typeof A&&(A=jr(A));for(var n=this._groups,r=n.length,o=new Array(r),i=0;i<r;++i)for(var s,a,u=n[i],c=u.length,l=o[i]=new Array(c),f=0;f<c;++f)(s=u[f])&&(a=A.call(s,s.__data__,f,u))&&(\"__data__\"in s&&(a.__data__=s.__data__),l[f]=a,Is(l[f],t,e,f,l,xs(s,e)));return new ca(o,this._parents,t,e)},selectAll:function(A){var t=this._name,e=this._id;\"function\"!=typeof A&&(A=qr(A));for(var n=this._groups,r=n.length,o=[],i=[],s=0;s<r;++s)for(var a,u=n[s],c=u.length,l=0;l<c;++l)if(a=u[l]){for(var f,h=A.call(a,a.__data__,l,u),B=xs(a,e),p=0,g=h.length;p<g;++p)(f=h[p])&&Is(f,t,e,p,h,B);o.push(h),i.push(a)}return new ca(o,i,t,e)},filter:function(A){\"function\"!=typeof A&&(A=$r(A));for(var t=this._groups,e=t.length,n=new Array(e),r=0;r<e;++r)for(var o,i=t[r],s=i.length,a=n[r]=[],u=0;u<s;++u)(o=i[u])&&A.call(o,o.__data__,u,i)&&a.push(o);return new ca(n,this._parents,this._name,this._id)},merge:function(A){if(A._id!==this._id)throw new Error;for(var t=this._groups,e=A._groups,n=t.length,r=e.length,o=Math.min(n,r),i=new Array(n),s=0;s<o;++s)for(var a,u=t[s],c=e[s],l=u.length,f=i[s]=new Array(l),h=0;h<l;++h)(a=u[h]||c[h])&&(f[h]=a);for(;s<n;++s)i[s]=t[s];return new ca(i,this._parents,this._name,this._id)},selection:function(){return new na(this._groups,this._parents)},transition:function(){for(var A=this._name,t=this._id,e=fa(),n=this._groups,r=n.length,o=0;o<r;++o)for(var i,s=n[o],a=s.length,u=0;u<a;++u)if(i=s[u]){var c=xs(i,t);Is(i,A,e,u,s,{time:c.time+c.delay+c.duration,delay:0,duration:c.duration,ease:c.ease})}return new ca(n,this._parents,A,e)},call:ha.call,nodes:ha.nodes,node:ha.node,size:ha.size,empty:ha.empty,each:ha.each,on:function(A,t){var e=this._id;return arguments.length<2?xs(this.node(),e).on.on(A):this.each(ea(e,A,t))},attr:function(A,t){var e=zr(A),n=\"transform\"===e?us:Ds;return this.attrTween(A,\"function\"==typeof t?(e.local?Js:Xs)(e,n,Ms(this,\"attr.\"+A,t)):null==t?(e.local?Ps:ks)(e):(e.local?Vs:zs)(e,n,t))},attrTween:function(A,t){var e=\"attr.\"+A;if(arguments.length<2)return(e=this.tween(e))&&e._value;if(null==t)return this.tween(e,null);if(\"function\"!=typeof t)throw new Error;var n=zr(A);return this.tween(e,(n.local?Ws:Ys)(n,t))},style:function(A,t,e){var n=\"transform\"==(A+=\"\")?as:Ds;return null==t?this.styleTween(A,function(A,t){var e,n,r;return function(){var o=Co(this,A),i=(this.style.removeProperty(A),Co(this,A));return o===i?null:o===e&&i===n?r:r=t(e=o,n=i)}}(A,n)).on(\"end.style.\"+A,ra(A)):\"function\"==typeof t?this.styleTween(A,function(A,t,e){var n,r,o;return function(){var i=Co(this,A),s=e(this),a=s+\"\";return null==s&&(this.style.removeProperty(A),a=s=Co(this,A)),i===a?null:i===n&&a===r?o:(r=a,o=t(n=i,s))}}(A,n,Ms(this,\"style.\"+A,t))).each(function(A,t){var e,n,r,o,i=\"style.\"+t,s=\"end.\"+i;return function(){var a=Ts(this,A),u=a.on,c=null==a.value[i]?o||(o=ra(t)):void 0;u===e&&r===c||(n=(e=u).copy()).on(s,r=c),a.on=n}}(this._id,A)):this.styleTween(A,function(A,t,e){var n,r,o=e+\"\";return function(){var i=Co(this,A);return i===o?null:i===n?r:r=t(n=i,e)}}(A,n,t),e).on(\"end.style.\"+A,null)},styleTween:function(A,t,e){var n=\"style.\"+(A+=\"\");if(arguments.length<2)return(n=this.tween(n))&&n._value;if(null==t)return this.tween(n,null);if(\"function\"!=typeof t)throw new Error;return this.tween(n,ia(A,t,null==e?\"\":e))},text:function(A){return this.tween(\"text\",\"function\"==typeof A?function(A){return function(){var t=A(this);this.textContent=null==t?\"\":t}}(Ms(this,\"text\",A)):function(A){return function(){this.textContent=A}}(null==A?\"\":A+\"\"))},textTween:function(A){var t=\"text\";if(arguments.length<1)return(t=this.tween(t))&&t._value;if(null==A)return this.tween(t,null);if(\"function\"!=typeof A)throw new Error;return this.tween(t,aa(A))},remove:function(){return this.on(\"end.remove\",(A=this._id,function(){var t=this.parentNode;for(var e in this.__transition)if(+e!==A)return;t&&t.removeChild(this)}));var A},tween:function(A,t){var e=this._id;if(A+=\"\",arguments.length<2){for(var n,r=xs(this.node(),e).tween,o=0,i=r.length;o<i;++o)if((n=r[o]).name===A)return n.value;return null}return this.each((null==t?Rs:Ls)(e,A,t))},delay:function(A){var t=this._id;return arguments.length?this.each((\"function\"==typeof A?qs:$s)(t,A)):xs(this.node(),t).delay},duration:function(A){var t=this._id;return arguments.length?this.each((\"function\"==typeof A?Zs:Aa)(t,A)):xs(this.node(),t).duration},ease:function(A){var t=this._id;return arguments.length?this.each(ta(t,A)):xs(this.node(),t).ease},easeVarying:function(A){if(\"function\"!=typeof A)throw new Error;return this.each(function(A,t){return function(){var e=t.apply(this,arguments);if(\"function\"!=typeof e)throw new Error;Ts(this,A).ease=e}}(this._id,A))},end:function(){var A,t,e=this,n=e._id,r=e.size();return new Promise((function(o,i){var s={value:i},a={value:function(){0==--r&&o()}};e.each((function(){var e=Ts(this,n),r=e.on;r!==A&&((t=(A=r).copy())._.cancel.push(s),t._.interrupt.push(s),t._.end.push(a)),e.on=t})),0===r&&o()}))},[Symbol.iterator]:ha[Symbol.iterator]};var Ba={time:null,delay:0,duration:250,ease:function(A){return((A*=2)<=1?A*A*A:(A-=2)*A*A+2)/2}};function pa(A,t){for(var e;!(e=A.__transition)||!(e=e[t]);)if(!(A=A.parentNode))throw new Error(`transition ${t} not found`);return e}Ai.prototype.interrupt=function(A){return this.each((function(){Ss(this,A)}))},Ai.prototype.transition=function(A){var t,e;A instanceof ca?(t=A._id,A=A._name):(t=fa(),(e=Ba).time=Cs(),A=null==A?null:A+\"\");for(var n=this._groups,r=n.length,o=0;o<r;++o)for(var i,s=n[o],a=s.length,u=0;u<a;++u)(i=s[u])&&Is(i,A,t,u,s,e||pa(i,t));return new ca(n,this._parents,A,t)};var ga=A=>()=>A;function da(A,{sourceEvent:t,target:e,transform:n,dispatch:r}){Object.defineProperties(this,{type:{value:A,enumerable:!0,configurable:!0},sourceEvent:{value:t,enumerable:!0,configurable:!0},target:{value:e,enumerable:!0,configurable:!0},transform:{value:n,enumerable:!0,configurable:!0},_:{value:r}})}function wa(A,t,e){this.k=A,this.x=t,this.y=e}wa.prototype={constructor:wa,scale:function(A){return 1===A?this:new wa(this.k*A,this.x,this.y)},translate:function(A,t){return 0===A&0===t?this:new wa(this.k,this.x+this.k*A,this.y+this.k*t)},apply:function(A){return[A[0]*this.k+this.x,A[1]*this.k+this.y]},applyX:function(A){return A*this.k+this.x},applyY:function(A){return A*this.k+this.y},invert:function(A){return[(A[0]-this.x)/this.k,(A[1]-this.y)/this.k]},invertX:function(A){return(A-this.x)/this.k},invertY:function(A){return(A-this.y)/this.k},rescaleX:function(A){return A.copy().domain(A.range().map(this.invertX,this).map(A.invert,A))},rescaleY:function(A){return A.copy().domain(A.range().map(this.invertY,this).map(A.invert,A))},toString:function(){return\"translate(\"+this.x+\",\"+this.y+\") scale(\"+this.k+\")\"}};var Qa=new wa(1,0,0);function va(A){A.stopImmediatePropagation()}function Ua(A){A.preventDefault(),A.stopImmediatePropagation()}function Ca(A){return!(A.ctrlKey&&\"wheel\"!==A.type||A.button)}function Ea(){var A=this;return A instanceof SVGElement?(A=A.ownerSVGElement||A).hasAttribute(\"viewBox\")?[[(A=A.viewBox.baseVal).x,A.y],[A.x+A.width,A.y+A.height]]:[[0,0],[A.width.baseVal.value,A.height.baseVal.value]]:[[0,0],[A.clientWidth,A.clientHeight]]}function ya(){return this.__zoom||Qa}function Fa(A){return-A.deltaY*(1===A.deltaMode?.05:A.deltaMode?1:.002)*(A.ctrlKey?10:1)}function ma(){return navigator.maxTouchPoints||\"ontouchstart\"in this}function _a(A,t,e){var n=A.invertX(t[0][0])-e[0][0],r=A.invertX(t[1][0])-e[1][0],o=A.invertY(t[0][1])-e[0][1],i=A.invertY(t[1][1])-e[1][1];return A.translate(r>n?(n+r)/2:Math.min(0,n)||Math.max(0,r),i>o?(o+i)/2:Math.min(0,o)||Math.max(0,i))}function Ha(){var A,t,e,n=Ca,r=Ea,o=_a,i=Fa,s=ma,a=[0,1/0],u=[[-1/0,-1/0],[1/0,1/0]],c=250,l=hs,f=Sr(\"start\",\"zoom\",\"end\"),h=500,B=0,p=10;function g(A){A.property(\"__zoom\",ya).on(\"wheel.zoom\",E).on(\"mousedown.zoom\",y).on(\"dblclick.zoom\",F).filter(s).on(\"touchstart.zoom\",m).on(\"touchmove.zoom\",_).on(\"touchend.zoom touchcancel.zoom\",H).style(\"-webkit-tap-highlight-color\",\"rgba(0,0,0,0)\")}function d(A,t){return(t=Math.max(a[0],Math.min(a[1],t)))===A.k?A:new wa(t,A.x,A.y)}function w(A,t,e){var n=t[0]-e[0]*A.k,r=t[1]-e[1]*A.k;return n===A.x&&r===A.y?A:new wa(A.k,n,r)}function Q(A){return[(+A[0][0]+ +A[1][0])/2,(+A[0][1]+ +A[1][1])/2]}function v(A,t,e,n){A.on(\"start.zoom\",(function(){U(this,arguments).event(n).start()})).on(\"interrupt.zoom end.zoom\",(function(){U(this,arguments).event(n).end()})).tween(\"zoom\",(function(){var A=this,o=arguments,i=U(A,o).event(n),s=r.apply(A,o),a=null==e?Q(s):\"function\"==typeof e?e.apply(A,o):e,u=Math.max(s[1][0]-s[0][0],s[1][1]-s[0][1]),c=A.__zoom,f=\"function\"==typeof t?t.apply(A,o):t,h=l(c.invert(a).concat(u/c.k),f.invert(a).concat(u/f.k));return function(A){if(1===A)A=f;else{var t=h(A),e=u/t[2];A=new wa(e,a[0]-t[0]*e,a[1]-t[1]*e)}i.zoom(null,A)}}))}function U(A,t,e){return!e&&A.__zooming||new C(A,t)}function C(A,t){this.that=A,this.args=t,this.active=0,this.sourceEvent=null,this.extent=r.apply(A,t),this.taps=0}function E(A,...t){if(n.apply(this,arguments)){var e=U(this,t).event(A),r=this.__zoom,s=Math.max(a[0],Math.min(a[1],r.k*Math.pow(2,i.apply(this,arguments)))),c=ei(A);if(e.wheel)e.mouse[0][0]===c[0]&&e.mouse[0][1]===c[1]||(e.mouse[1]=r.invert(e.mouse[0]=c)),clearTimeout(e.wheel);else{if(r.k===s)return;e.mouse=[c,r.invert(c)],Ss(this),e.start()}Ua(A),e.wheel=setTimeout(l,150),e.zoom(\"mouse\",o(w(d(r,s),e.mouse[0],e.mouse[1]),e.extent,u))}function l(){e.wheel=null,e.end()}}function y(A,...t){if(!e&&n.apply(this,arguments)){var r=U(this,t,!0).event(A),i=ti(A.view).on(\"mousemove.zoom\",f,!0).on(\"mouseup.zoom\",h,!0),s=ei(A,a),a=A.currentTarget,c=A.clientX,l=A.clientY;oi(A.view),va(A),r.mouse=[s,this.__zoom.invert(s)],Ss(this),r.start()}function f(A){if(Ua(A),!r.moved){var t=A.clientX-c,e=A.clientY-l;r.moved=t*t+e*e>B}r.event(A).zoom(\"mouse\",o(w(r.that.__zoom,r.mouse[0]=ei(A,a),r.mouse[1]),r.extent,u))}function h(A){i.on(\"mousemove.zoom mouseup.zoom\",null),ii(A.view,r.moved),Ua(A),r.event(A).end()}}function F(A,...t){if(n.apply(this,arguments)){var e=this.__zoom,i=ei(A.changedTouches?A.changedTouches[0]:A,this),s=e.invert(i),a=e.k*(A.shiftKey?.5:2),l=o(w(d(e,a),i,s),r.apply(this,t),u);Ua(A),c>0?ti(this).transition().duration(c).call(v,l,i,A):ti(this).call(g.transform,l,i,A)}}function m(e,...r){if(n.apply(this,arguments)){var o,i,s,a,u=e.touches,c=u.length,l=U(this,r,e.changedTouches.length===c).event(e);for(va(e),i=0;i<c;++i)a=[a=ei(s=u[i],this),this.__zoom.invert(a),s.identifier],l.touch0?l.touch1||l.touch0[2]===a[2]||(l.touch1=a,l.taps=0):(l.touch0=a,o=!0,l.taps=1+!!A);A&&(A=clearTimeout(A)),o&&(l.taps<2&&(t=a[0],A=setTimeout((function(){A=null}),h)),Ss(this),l.start())}}function _(A,...t){if(this.__zooming){var e,n,r,i,s=U(this,t).event(A),a=A.changedTouches,c=a.length;for(Ua(A),e=0;e<c;++e)r=ei(n=a[e],this),s.touch0&&s.touch0[2]===n.identifier?s.touch0[0]=r:s.touch1&&s.touch1[2]===n.identifier&&(s.touch1[0]=r);if(n=s.that.__zoom,s.touch1){var l=s.touch0[0],f=s.touch0[1],h=s.touch1[0],B=s.touch1[1],p=(p=h[0]-l[0])*p+(p=h[1]-l[1])*p,g=(g=B[0]-f[0])*g+(g=B[1]-f[1])*g;n=d(n,Math.sqrt(p/g)),r=[(l[0]+h[0])/2,(l[1]+h[1])/2],i=[(f[0]+B[0])/2,(f[1]+B[1])/2]}else{if(!s.touch0)return;r=s.touch0[0],i=s.touch0[1]}s.zoom(\"touch\",o(w(n,r,i),s.extent,u))}}function H(A,...n){if(this.__zooming){var r,o,i=U(this,n).event(A),s=A.changedTouches,a=s.length;for(va(A),e&&clearTimeout(e),e=setTimeout((function(){e=null}),h),r=0;r<a;++r)o=s[r],i.touch0&&i.touch0[2]===o.identifier?delete i.touch0:i.touch1&&i.touch1[2]===o.identifier&&delete i.touch1;if(i.touch1&&!i.touch0&&(i.touch0=i.touch1,delete i.touch1),i.touch0)i.touch0[1]=this.__zoom.invert(i.touch0[0]);else if(i.end(),2===i.taps&&(o=ei(o,this),Math.hypot(t[0]-o[0],t[1]-o[1])<p)){var u=ti(this).on(\"dblclick.zoom\");u&&u.apply(this,arguments)}}}return g.transform=function(A,t,e,n){var r=A.selection?A.selection():A;r.property(\"__zoom\",ya),A!==r?v(A,t,e,n):r.interrupt().each((function(){U(this,arguments).event(n).start().zoom(null,\"function\"==typeof t?t.apply(this,arguments):t).end()}))},g.scaleBy=function(A,t,e,n){g.scaleTo(A,(function(){var A=this.__zoom.k,e=\"function\"==typeof t?t.apply(this,arguments):t;return A*e}),e,n)},g.scaleTo=function(A,t,e,n){g.transform(A,(function(){var A=r.apply(this,arguments),n=this.__zoom,i=null==e?Q(A):\"function\"==typeof e?e.apply(this,arguments):e,s=n.invert(i),a=\"function\"==typeof t?t.apply(this,arguments):t;return o(w(d(n,a),i,s),A,u)}),e,n)},g.translateBy=function(A,t,e,n){g.transform(A,(function(){return o(this.__zoom.translate(\"function\"==typeof t?t.apply(this,arguments):t,\"function\"==typeof e?e.apply(this,arguments):e),r.apply(this,arguments),u)}),null,n)},g.translateTo=function(A,t,e,n,i){g.transform(A,(function(){var A=r.apply(this,arguments),i=this.__zoom,s=null==n?Q(A):\"function\"==typeof n?n.apply(this,arguments):n;return o(Qa.translate(s[0],s[1]).scale(i.k).translate(\"function\"==typeof t?-t.apply(this,arguments):-t,\"function\"==typeof e?-e.apply(this,arguments):-e),A,u)}),n,i)},C.prototype={event:function(A){return A&&(this.sourceEvent=A),this},start:function(){return 1==++this.active&&(this.that.__zooming=this,this.emit(\"start\")),this},zoom:function(A,t){return this.mouse&&\"mouse\"!==A&&(this.mouse[1]=t.invert(this.mouse[0])),this.touch0&&\"touch\"!==A&&(this.touch0[1]=t.invert(this.touch0[0])),this.touch1&&\"touch\"!==A&&(this.touch1[1]=t.invert(this.touch1[0])),this.that.__zoom=t,this.emit(\"zoom\"),this},end:function(){return 0==--this.active&&(delete this.that.__zooming,this.emit(\"end\")),this},emit:function(A){var t=ti(this.that).datum();f.call(A,this.that,new da(A,{sourceEvent:this.sourceEvent,target:g,type:A,transform:this.that.__zoom,dispatch:f}),t)}},g.wheelDelta=function(A){return arguments.length?(i=\"function\"==typeof A?A:ga(+A),g):i},g.filter=function(A){return arguments.length?(n=\"function\"==typeof A?A:ga(!!A),g):n},g.touchable=function(A){return arguments.length?(s=\"function\"==typeof A?A:ga(!!A),g):s},g.extent=function(A){return arguments.length?(r=\"function\"==typeof A?A:ga([[+A[0][0],+A[0][1]],[+A[1][0],+A[1][1]]]),g):r},g.scaleExtent=function(A){return arguments.length?(a[0]=+A[0],a[1]=+A[1],g):[a[0],a[1]]},g.translateExtent=function(A){return arguments.length?(u[0][0]=+A[0][0],u[1][0]=+A[1][0],u[0][1]=+A[0][1],u[1][1]=+A[1][1],g):[[u[0][0],u[0][1]],[u[1][0],u[1][1]]]},g.constrain=function(A){return arguments.length?(o=A,g):o},g.duration=function(A){return arguments.length?(c=+A,g):c},g.interpolate=function(A){return arguments.length?(l=A,g):l},g.on=function(){var A=f.on.apply(f,arguments);return A===f?g:A},g.clickDistance=function(A){return arguments.length?(B=(A=+A)*A,g):Math.sqrt(B)},g.tapDistance=function(A){return arguments.length?(p=+A,g):p},g}var ba=\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{};function Na(A){var t={exports:{}};return A(t,t.exports),t.exports}var Ka=Na((function(A,t){var e=\"__lodash_hash_undefined__\",n=9007199254740991,r=\"[object Arguments]\",o=\"[object Boolean]\",i=\"[object Date]\",s=\"[object Function]\",a=\"[object GeneratorFunction]\",u=\"[object Map]\",c=\"[object Number]\",l=\"[object Object]\",f=\"[object Promise]\",h=\"[object RegExp]\",B=\"[object Set]\",p=\"[object String]\",g=\"[object Symbol]\",d=\"[object WeakMap]\",w=\"[object ArrayBuffer]\",Q=\"[object DataView]\",v=\"[object Float32Array]\",U=\"[object Float64Array]\",C=\"[object Int8Array]\",E=\"[object Int16Array]\",y=\"[object Int32Array]\",F=\"[object Uint8Array]\",m=\"[object Uint8ClampedArray]\",_=\"[object Uint16Array]\",H=\"[object Uint32Array]\",b=/\\w*$/,N=/^\\[object .+?Constructor\\]$/,K=/^(?:0|[1-9]\\d*)$/,I={};I[r]=I[\"[object Array]\"]=I[w]=I[Q]=I[o]=I[i]=I[v]=I[U]=I[C]=I[E]=I[y]=I[u]=I[c]=I[l]=I[h]=I[B]=I[p]=I[g]=I[F]=I[m]=I[_]=I[H]=!0,I[\"[object Error]\"]=I[s]=I[d]=!1;var O=\"object\"==typeof ba&&ba&&ba.Object===Object&&ba,T=\"object\"==typeof self&&self&&self.Object===Object&&self,x=O||T||Function(\"return this\")(),S=t&&!t.nodeType&&t,R=S&&A&&!A.nodeType&&A,L=R&&R.exports===S;function M(A,t){return A.set(t[0],t[1]),A}function D(A,t){return A.add(t),A}function k(A,t,e,n){var r=-1,o=A?A.length:0;for(n&&o&&(e=A[++r]);++r<o;)e=t(e,A[r],r,A);return e}function P(A){var t=!1;if(null!=A&&\"function\"!=typeof A.toString)try{t=!!(A+\"\")}catch(e){}return t}function z(A){var t=-1,e=Array(A.size);return A.forEach((function(A,n){e[++t]=[n,A]})),e}function V(A,t){return function(e){return A(t(e))}}function X(A){var t=-1,e=Array(A.size);return A.forEach((function(A){e[++t]=A})),e}var J,G=Array.prototype,j=Function.prototype,W=Object.prototype,Y=x[\"__core-js_shared__\"],q=(J=/[^.]+$/.exec(Y&&Y.keys&&Y.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+J:\"\",$=j.toString,Z=W.hasOwnProperty,AA=W.toString,tA=RegExp(\"^\"+$.call(Z).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),eA=L?x.Buffer:void 0,nA=x.Symbol,rA=x.Uint8Array,oA=V(Object.getPrototypeOf,Object),iA=Object.create,sA=W.propertyIsEnumerable,aA=G.splice,uA=Object.getOwnPropertySymbols,cA=eA?eA.isBuffer:void 0,lA=V(Object.keys,Object),fA=RA(x,\"DataView\"),hA=RA(x,\"Map\"),BA=RA(x,\"Promise\"),pA=RA(x,\"Set\"),gA=RA(x,\"WeakMap\"),dA=RA(Object,\"create\"),wA=PA(fA),QA=PA(hA),vA=PA(BA),UA=PA(pA),CA=PA(gA),EA=nA?nA.prototype:void 0,yA=EA?EA.valueOf:void 0;function FA(A){var t=-1,e=A?A.length:0;for(this.clear();++t<e;){var n=A[t];this.set(n[0],n[1])}}function mA(A){var t=-1,e=A?A.length:0;for(this.clear();++t<e;){var n=A[t];this.set(n[0],n[1])}}function _A(A){var t=-1,e=A?A.length:0;for(this.clear();++t<e;){var n=A[t];this.set(n[0],n[1])}}function HA(A){this.__data__=new mA(A)}function bA(A,t){var e=VA(A)||function(A){return function(A){return function(A){return!!A&&\"object\"==typeof A}(A)&&XA(A)}(A)&&Z.call(A,\"callee\")&&(!sA.call(A,\"callee\")||AA.call(A)==r)}(A)?function(A,t){for(var e=-1,n=Array(A);++e<A;)n[e]=t(e);return n}(A.length,String):[],n=e.length,o=!!n;for(var i in A)!t&&!Z.call(A,i)||o&&(\"length\"==i||DA(i,n))||e.push(i);return e}function NA(A,t,e){var n=A[t];Z.call(A,t)&&zA(n,e)&&(void 0!==e||t in A)||(A[t]=e)}function KA(A,t){for(var e=A.length;e--;)if(zA(A[e][0],t))return e;return-1}function IA(A,t,e,n,f,d,N){var K;if(n&&(K=d?n(A,f,d,N):n(A)),void 0!==K)return K;if(!jA(A))return A;var O=VA(A);if(O){if(K=function(A){var t=A.length,e=A.constructor(t);t&&\"string\"==typeof A[0]&&Z.call(A,\"index\")&&(e.index=A.index,e.input=A.input);return e}(A),!t)return function(A,t){var e=-1,n=A.length;t||(t=Array(n));for(;++e<n;)t[e]=A[e];return t}(A,K)}else{var T=MA(A),x=T==s||T==a;if(JA(A))return function(A,t){if(t)return A.slice();var e=new A.constructor(A.length);return A.copy(e),e}(A,t);if(T==l||T==r||x&&!d){if(P(A))return d?A:{};if(K=function(A){return\"function\"!=typeof A.constructor||kA(A)?{}:(t=oA(A),jA(t)?iA(t):{});var t}(x?{}:A),!t)return function(A,t){return xA(A,LA(A),t)}(A,function(A,t){return A&&xA(t,WA(t),A)}(K,A))}else{if(!I[T])return d?A:{};K=function(A,t,e,n){var r=A.constructor;switch(t){case w:return TA(A);case o:case i:return new r(+A);case Q:return function(A,t){var e=t?TA(A.buffer):A.buffer;return new A.constructor(e,A.byteOffset,A.byteLength)}(A,n);case v:case U:case C:case E:case y:case F:case m:case _:case H:return function(A,t){var e=t?TA(A.buffer):A.buffer;return new A.constructor(e,A.byteOffset,A.length)}(A,n);case u:return function(A,t,e){return k(t?e(z(A),!0):z(A),M,new A.constructor)}(A,n,e);case c:case p:return new r(A);case h:return function(A){var t=new A.constructor(A.source,b.exec(A));return t.lastIndex=A.lastIndex,t}(A);case B:return function(A,t,e){return k(t?e(X(A),!0):X(A),D,new A.constructor)}(A,n,e);case g:return s=A,yA?Object(yA.call(s)):{}}var s}(A,T,IA,t)}}N||(N=new HA);var S=N.get(A);if(S)return S;if(N.set(A,K),!O)var R=e?function(A){return function(A,t,e){var n=t(A);return VA(A)?n:function(A,t){for(var e=-1,n=t.length,r=A.length;++e<n;)A[r+e]=t[e];return A}(n,e(A))}(A,WA,LA)}(A):WA(A);return function(A,t){for(var e=-1,n=A?A.length:0;++e<n&&!1!==t(A[e],e,A););}(R||A,(function(r,o){R&&(r=A[o=r]),NA(K,o,IA(r,t,e,n,o,A,N))})),K}function OA(A){return!(!jA(A)||(t=A,q&&q in t))&&(GA(A)||P(A)?tA:N).test(PA(A));var t}function TA(A){var t=new A.constructor(A.byteLength);return new rA(t).set(new rA(A)),t}function xA(A,t,e,n){e||(e={});for(var r=-1,o=t.length;++r<o;){var i=t[r],s=n?n(e[i],A[i],i,e,A):void 0;NA(e,i,void 0===s?A[i]:s)}return e}function SA(A,t){var e,n,r=A.__data__;return(\"string\"==(n=typeof(e=t))||\"number\"==n||\"symbol\"==n||\"boolean\"==n?\"__proto__\"!==e:null===e)?r[\"string\"==typeof t?\"string\":\"hash\"]:r.map}function RA(A,t){var e=function(A,t){return null==A?void 0:A[t]}(A,t);return OA(e)?e:void 0}FA.prototype.clear=function(){this.__data__=dA?dA(null):{}},FA.prototype.delete=function(A){return this.has(A)&&delete this.__data__[A]},FA.prototype.get=function(A){var t=this.__data__;if(dA){var n=t[A];return n===e?void 0:n}return Z.call(t,A)?t[A]:void 0},FA.prototype.has=function(A){var t=this.__data__;return dA?void 0!==t[A]:Z.call(t,A)},FA.prototype.set=function(A,t){return this.__data__[A]=dA&&void 0===t?e:t,this},mA.prototype.clear=function(){this.__data__=[]},mA.prototype.delete=function(A){var t=this.__data__,e=KA(t,A);return!(e<0)&&(e==t.length-1?t.pop():aA.call(t,e,1),!0)},mA.prototype.get=function(A){var t=this.__data__,e=KA(t,A);return e<0?void 0:t[e][1]},mA.prototype.has=function(A){return KA(this.__data__,A)>-1},mA.prototype.set=function(A,t){var e=this.__data__,n=KA(e,A);return n<0?e.push([A,t]):e[n][1]=t,this},_A.prototype.clear=function(){this.__data__={hash:new FA,map:new(hA||mA),string:new FA}},_A.prototype.delete=function(A){return SA(this,A).delete(A)},_A.prototype.get=function(A){return SA(this,A).get(A)},_A.prototype.has=function(A){return SA(this,A).has(A)},_A.prototype.set=function(A,t){return SA(this,A).set(A,t),this},HA.prototype.clear=function(){this.__data__=new mA},HA.prototype.delete=function(A){return this.__data__.delete(A)},HA.prototype.get=function(A){return this.__data__.get(A)},HA.prototype.has=function(A){return this.__data__.has(A)},HA.prototype.set=function(A,t){var e=this.__data__;if(e instanceof mA){var n=e.__data__;if(!hA||n.length<199)return n.push([A,t]),this;e=this.__data__=new _A(n)}return e.set(A,t),this};var LA=uA?V(uA,Object):function(){return[]},MA=function(A){return AA.call(A)};function DA(A,t){return!!(t=null==t?n:t)&&(\"number\"==typeof A||K.test(A))&&A>-1&&A%1==0&&A<t}function kA(A){var t=A&&A.constructor;return A===(\"function\"==typeof t&&t.prototype||W)}function PA(A){if(null!=A){try{return $.call(A)}catch(t){}try{return A+\"\"}catch(t){}}return\"\"}function zA(A,t){return A===t||A!=A&&t!=t}(fA&&MA(new fA(new ArrayBuffer(1)))!=Q||hA&&MA(new hA)!=u||BA&&MA(BA.resolve())!=f||pA&&MA(new pA)!=B||gA&&MA(new gA)!=d)&&(MA=function(A){var t=AA.call(A),e=t==l?A.constructor:void 0,n=e?PA(e):void 0;if(n)switch(n){case wA:return Q;case QA:return u;case vA:return f;case UA:return B;case CA:return d}return t});var VA=Array.isArray;function XA(A){return null!=A&&function(A){return\"number\"==typeof A&&A>-1&&A%1==0&&A<=n}(A.length)&&!GA(A)}var JA=cA||function(){return!1};function GA(A){var t=jA(A)?AA.call(A):\"\";return t==s||t==a}function jA(A){var t=typeof A;return!!A&&(\"object\"==t||\"function\"==t)}function WA(A){return XA(A)?bA(A):function(A){if(!kA(A))return lA(A);var t=[];for(var e in Object(A))Z.call(A,e)&&\"constructor\"!=e&&t.push(e);return t}(A)}A.exports=function(A){return IA(A,!0,!0)}})),Ia=function(A,t){return(Ia=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(A,t){A.__proto__=t}||function(A,t){for(var e in t)t.hasOwnProperty(e)&&(A[e]=t[e])})(A,t)};\n/*!\n * html2canvas 1.0.0-rc.7 <https://html2canvas.hertzen.com>\n * Copyright (c) 2020 Niklas von Hertzen <https://hertzen.com>\n * Released under MIT License\n */\n/*! *****************************************************************************\nCopyright (c) Microsoft Corporation. All rights reserved.\nLicensed under the Apache License, Version 2.0 (the \"License\"); you may not use\nthis file except in compliance with the License. You may obtain a copy of the\nLicense at http://www.apache.org/licenses/LICENSE-2.0\n\nTHIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED\nWARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,\nMERCHANTABLITY OR NON-INFRINGEMENT.\n\nSee the Apache Version 2.0 License for specific language governing permissions\nand limitations under the License.\n***************************************************************************** */function Oa(A,t){function e(){this.constructor=A}Ia(A,t),A.prototype=null===t?Object.create(t):(e.prototype=t.prototype,new e)}var Ta=function(){return(Ta=Object.assign||function(A){for(var t,e=1,n=arguments.length;e<n;e++)for(var r in t=arguments[e])Object.prototype.hasOwnProperty.call(t,r)&&(A[r]=t[r]);return A}).apply(this,arguments)};function xa(A,t,e,n){return new(e||(e=Promise))((function(r,o){function i(A){try{a(n.next(A))}catch(t){o(t)}}function s(A){try{a(n.throw(A))}catch(t){o(t)}}function a(A){A.done?r(A.value):new e((function(t){t(A.value)})).then(i,s)}a((n=n.apply(A,t||[])).next())}))}function Sa(A,t){var e,n,r,o,i={label:0,sent:function(){if(1&r[0])throw r[1];return r[1]},trys:[],ops:[]};return o={next:s(0),throw:s(1),return:s(2)},\"function\"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function s(o){return function(s){return function(o){if(e)throw new TypeError(\"Generator is already executing.\");for(;i;)try{if(e=1,n&&(r=2&o[0]?n.return:o[0]?n.throw||((r=n.return)&&r.call(n),0):n.next)&&!(r=r.call(n,o[1])).done)return r;switch(n=0,r&&(o=[2&o[0],r.value]),o[0]){case 0:case 1:r=o;break;case 4:return i.label++,{value:o[1],done:!1};case 5:i.label++,n=o[1],o=[0];continue;case 7:o=i.ops.pop(),i.trys.pop();continue;default:if(!(r=i.trys,(r=r.length>0&&r[r.length-1])||6!==o[0]&&2!==o[0])){i=0;continue}if(3===o[0]&&(!r||o[1]>r[0]&&o[1]<r[3])){i.label=o[1];break}if(6===o[0]&&i.label<r[1]){i.label=r[1],r=o;break}if(r&&i.label<r[2]){i.label=r[2],i.ops.push(o);break}r[2]&&i.ops.pop(),i.trys.pop();continue}o=t.call(A,i)}catch(s){o=[6,s],n=0}finally{e=r=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,s])}}}for(var Ra=function(){function A(A,t,e,n){this.left=A,this.top=t,this.width=e,this.height=n}return A.prototype.add=function(t,e,n,r){return new A(this.left+t,this.top+e,this.width+n,this.height+r)},A.fromClientRect=function(t){return new A(t.left,t.top,t.width,t.height)},A}(),La=function(A){return Ra.fromClientRect(A.getBoundingClientRect())},Ma=function(A){for(var t=[],e=0,n=A.length;e<n;){var r=A.charCodeAt(e++);if(r>=55296&&r<=56319&&e<n){var o=A.charCodeAt(e++);56320==(64512&o)?t.push(((1023&r)<<10)+(1023&o)+65536):(t.push(r),e--)}else t.push(r)}return t},Da=function(){for(var A=[],t=0;t<arguments.length;t++)A[t]=arguments[t];if(String.fromCodePoint)return String.fromCodePoint.apply(String,A);var e=A.length;if(!e)return\"\";for(var n=[],r=-1,o=\"\";++r<e;){var i=A[r];i<=65535?n.push(i):(i-=65536,n.push(55296+(i>>10),i%1024+56320)),(r+1===e||n.length>16384)&&(o+=String.fromCharCode.apply(String,n),n.length=0)}return o},ka=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\",Pa=\"undefined\"==typeof Uint8Array?[]:new Uint8Array(256),za=0;za<ka.length;za++)Pa[ka.charCodeAt(za)]=za;var Va,Xa,Ja,Ga,ja,Wa,Ya,qa,$a,Za,Au=function(A,t,e){return A.slice?A.slice(t,e):new Uint16Array(Array.prototype.slice.call(A,t,e))},tu=function(){function A(A,t,e,n,r,o){this.initialValue=A,this.errorValue=t,this.highStart=e,this.highValueIndex=n,this.index=r,this.data=o}return A.prototype.get=function(A){var t;if(A>=0){if(A<55296||A>56319&&A<=65535)return t=((t=this.index[A>>5])<<2)+(31&A),this.data[t];if(A<=65535)return t=((t=this.index[2048+(A-55296>>5)])<<2)+(31&A),this.data[t];if(A<this.highStart)return t=2080+(A>>11),t=this.index[t],t+=A>>5&63,t=((t=this.index[t])<<2)+(31&A),this.data[t];if(A<=1114111)return this.data[this.highValueIndex]}return this.errorValue},A}(),eu=10,nu=13,ru=15,ou=17,iu=18,su=19,au=20,uu=21,cu=22,lu=24,fu=25,hu=26,Bu=27,pu=28,gu=30,du=32,wu=33,Qu=34,vu=35,Uu=37,Cu=38,Eu=39,yu=40,Fu=42,mu=(Ga=function(A){var t,e,n,r,o,i=.75*A.length,s=A.length,a=0;\"=\"===A[A.length-1]&&(i--,\"=\"===A[A.length-2]&&i--);var u=\"undefined\"!=typeof ArrayBuffer&&\"undefined\"!=typeof Uint8Array&&void 0!==Uint8Array.prototype.slice?new ArrayBuffer(i):new Array(i),c=Array.isArray(u)?u:new Uint8Array(u);for(t=0;t<s;t+=4)e=Pa[A.charCodeAt(t)],n=Pa[A.charCodeAt(t+1)],r=Pa[A.charCodeAt(t+2)],o=Pa[A.charCodeAt(t+3)],c[a++]=e<<2|n>>4,c[a++]=(15&n)<<4|r>>2,c[a++]=(3&r)<<6|63&o;return u}(\"KwAAAAAAAAAACA4AIDoAAPAfAAACAAAAAAAIABAAGABAAEgAUABYAF4AZgBeAGYAYABoAHAAeABeAGYAfACEAIAAiACQAJgAoACoAK0AtQC9AMUAXgBmAF4AZgBeAGYAzQDVAF4AZgDRANkA3gDmAOwA9AD8AAQBDAEUARoBIgGAAIgAJwEvATcBPwFFAU0BTAFUAVwBZAFsAXMBewGDATAAiwGTAZsBogGkAawBtAG8AcIBygHSAdoB4AHoAfAB+AH+AQYCDgIWAv4BHgImAi4CNgI+AkUCTQJTAlsCYwJrAnECeQKBAk0CiQKRApkCoQKoArACuALAAsQCzAIwANQC3ALkAjAA7AL0AvwCAQMJAxADGAMwACADJgMuAzYDPgOAAEYDSgNSA1IDUgNaA1oDYANiA2IDgACAAGoDgAByA3YDfgOAAIQDgACKA5IDmgOAAIAAogOqA4AAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAK8DtwOAAIAAvwPHA88D1wPfAyAD5wPsA/QD/AOAAIAABAQMBBIEgAAWBB4EJgQuBDMEIAM7BEEEXgBJBCADUQRZBGEEaQQwADAAcQQ+AXkEgQSJBJEEgACYBIAAoASoBK8EtwQwAL8ExQSAAIAAgACAAIAAgACgAM0EXgBeAF4AXgBeAF4AXgBeANUEXgDZBOEEXgDpBPEE+QQBBQkFEQUZBSEFKQUxBTUFPQVFBUwFVAVcBV4AYwVeAGsFcwV7BYMFiwWSBV4AmgWgBacFXgBeAF4AXgBeAKsFXgCyBbEFugW7BcIFwgXIBcIFwgXQBdQF3AXkBesF8wX7BQMGCwYTBhsGIwYrBjMGOwZeAD8GRwZNBl4AVAZbBl4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAGMGXgBqBnEGXgBeAF4AXgBeAF4AXgBeAF4AXgB5BoAG4wSGBo4GkwaAAIADHgR5AF4AXgBeAJsGgABGA4AAowarBrMGswagALsGwwbLBjAA0wbaBtoG3QbaBtoG2gbaBtoG2gblBusG8wb7BgMHCwcTBxsHCwcjBysHMAc1BzUHOgdCB9oGSgdSB1oHYAfaBloHaAfaBlIH2gbaBtoG2gbaBtoG2gbaBjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHbQdeAF4ANQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQd1B30HNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B4MH2gaKB68EgACAAIAAgACAAIAAgACAAI8HlwdeAJ8HpweAAIAArwe3B14AXgC/B8UHygcwANAH2AfgB4AA6AfwBz4B+AcACFwBCAgPCBcIogEYAR8IJwiAAC8INwg/CCADRwhPCFcIXwhnCEoDGgSAAIAAgABvCHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIfQh3CHgIeQh6CHsIfAh9CHcIeAh5CHoIewh8CH0Idwh4CHkIegh7CHwIhAiLCI4IMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlggwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAANQc1BzUHNQc1BzUHNQc1BzUHNQc1B54INQc1B6II2gaqCLIIugiAAIAAvgjGCIAAgACAAIAAgACAAIAAgACAAIAAywiHAYAA0wiAANkI3QjlCO0I9Aj8CIAAgACAAAIJCgkSCRoJIgknCTYHLwk3CZYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiWCJYIlgiAAIAAAAFAAXgBeAGAAcABeAHwAQACQAKAArQC9AJ4AXgBeAE0A3gBRAN4A7AD8AMwBGgEAAKcBNwEFAUwBXAF4QkhCmEKnArcCgAHHAsABz4LAAcABwAHAAd+C6ABoAG+C/4LAAcABwAHAAc+DF4MAAcAB54M3gweDV4Nng3eDaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAGgAaABoAEeDqABVg6WDqABoQ6gAaABoAHXDvcONw/3DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DvcO9w73DncPAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcABwAHAAcAB7cPPwlGCU4JMACAAIAAgABWCV4JYQmAAGkJcAl4CXwJgAkwADAAMAAwAIgJgACLCZMJgACZCZ8JowmrCYAAswkwAF4AXgB8AIAAuwkABMMJyQmAAM4JgADVCTAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAqwYWBNkIMAAwADAAMADdCeAJ6AnuCR4E9gkwAP4JBQoNCjAAMACAABUK0wiAAB0KJAosCjQKgAAwADwKQwqAAEsKvQmdCVMKWwowADAAgACAALcEMACAAGMKgABrCjAAMAAwADAAMAAwADAAMAAwADAAMAAeBDAAMAAwADAAMAAwADAAMAAwADAAMAAwAIkEPQFzCnoKiQSCCooKkAqJBJgKoAqkCokEGAGsCrQKvArBCjAAMADJCtEKFQHZCuEK/gHpCvEKMAAwADAAMACAAIwE+QowAIAAPwEBCzAAMAAwADAAMACAAAkLEQswAIAAPwEZCyELgAAOCCkLMAAxCzkLMAAwADAAMAAwADAAXgBeAEELMAAwADAAMAAwADAAMAAwAEkLTQtVC4AAXAtkC4AAiQkwADAAMAAwADAAMAAwADAAbAtxC3kLgAuFC4sLMAAwAJMLlwufCzAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAApwswADAAMACAAIAAgACvC4AAgACAAIAAgACAALcLMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAvwuAAMcLgACAAIAAgACAAIAAyguAAIAAgACAAIAA0QswADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAANkLgACAAIAA4AswADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAIAAgACJCR4E6AswADAAhwHwC4AA+AsADAgMEAwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMACAAIAAGAwdDCUMMAAwAC0MNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQw1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHPQwwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADUHNQc1BzUHNQc1BzUHNQc2BzAAMAA5DDUHNQc1BzUHNQc1BzUHNQc1BzUHNQdFDDAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAgACAAIAATQxSDFoMMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAF4AXgBeAF4AXgBeAF4AYgxeAGoMXgBxDHkMfwxeAIUMXgBeAI0MMAAwADAAMAAwAF4AXgCVDJ0MMAAwADAAMABeAF4ApQxeAKsMswy7DF4Awgy9DMoMXgBeAF4AXgBeAF4AXgBeAF4AXgDRDNkMeQBqCeAM3Ax8AOYM7Az0DPgMXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgBeAF4AXgCgAAANoAAHDQ4NFg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAeDSYNMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAIAAgACAAIAAgACAAC4NMABeAF4ANg0wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwAD4NRg1ODVYNXg1mDTAAbQ0wADAAMAAwADAAMAAwADAA2gbaBtoG2gbaBtoG2gbaBnUNeg3CBYANwgWFDdoGjA3aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gaUDZwNpA2oDdoG2gawDbcNvw3HDdoG2gbPDdYN3A3fDeYN2gbsDfMN2gbaBvoN/g3aBgYODg7aBl4AXgBeABYOXgBeACUG2gYeDl4AJA5eACwO2w3aBtoGMQ45DtoG2gbaBtoGQQ7aBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDjUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B1EO2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQdZDjUHNQc1BzUHNQc1B2EONQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHaA41BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B3AO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gY1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1BzUHNQc1B2EO2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gZJDtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBtoG2gbaBkkOeA6gAKAAoAAwADAAMAAwAKAAoACgAKAAoACgAKAAgA4wADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAAwADAAMAD//wQABAAEAAQABAAEAAQABAAEAA0AAwABAAEAAgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAKABMAFwAeABsAGgAeABcAFgASAB4AGwAYAA8AGAAcAEsASwBLAEsASwBLAEsASwBLAEsAGAAYAB4AHgAeABMAHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAFgAbABIAHgAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYADQARAB4ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAUABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkAFgAaABsAGwAbAB4AHQAdAB4ATwAXAB4ADQAeAB4AGgAbAE8ATwAOAFAAHQAdAB0ATwBPABcATwBPAE8AFgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAFAATwBAAE8ATwBPAEAATwBQAFAATwBQAB4AHgAeAB4AHgAeAB0AHQAdAB0AHgAdAB4ADgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgBQAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAJAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAkACQAJAAkACQAJAAkABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgAeAFAAHgAeAB4AKwArAFAAUABQAFAAGABQACsAKwArACsAHgAeAFAAHgBQAFAAUAArAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAAQABAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUAAeAB4AHgAeAB4AHgArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwAYAA0AKwArAB4AHgAbACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQADQAEAB4ABAAEAB4ABAAEABMABAArACsAKwArACsAKwArACsAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAKwArACsAKwArAFYAVgBWAB4AHgArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AGgAaABoAGAAYAB4AHgAEAAQABAAEAAQABAAEAAQABAAEAAQAEwAEACsAEwATAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABLAEsASwBLAEsASwBLAEsASwBLABoAGQAZAB4AUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABMAUAAEAAQABAAEAAQABAAEAB4AHgAEAAQABAAEAAQABABQAFAABAAEAB4ABAAEAAQABABQAFAASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUAAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAFAABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQAUABQAB4AHgAYABMAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAFAABAAEAAQABAAEAFAABAAEAAQAUAAEAAQABAAEAAQAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAArACsAHgArAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAAQABAANAA0ASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAKwArACsAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAUAArACsAKwArACsAKwArACsABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAGgAaAFAAUABQAFAAUABMAB4AGwBQAB4AKwArACsABAAEAAQAKwBQAFAAUABQAFAAUAArACsAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUAArAFAAUAArACsABAArAAQABAAEAAQABAArACsAKwArAAQABAArACsABAAEAAQAKwArACsABAArACsAKwArACsAKwArAFAAUABQAFAAKwBQACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwAEAAQAUABQAFAABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUAArAFAAUABQAFAAUAArACsABABQAAQABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQAKwArAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeABsAKwArACsAKwArACsAKwBQAAQABAAEAAQABAAEACsABAAEAAQAKwBQAFAAUABQAFAAUABQAFAAKwArAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArAAQABAArACsABAAEAAQAKwArACsAKwArACsAKwArAAQABAArACsAKwArAFAAUAArAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwAeAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwAEAFAAKwBQAFAAUABQAFAAUAArACsAKwBQAFAAUAArAFAAUABQAFAAKwArACsAUABQACsAUAArAFAAUAArACsAKwBQAFAAKwArACsAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwAEAAQABAAEAAQAKwArACsABAAEAAQAKwAEAAQABAAEACsAKwBQACsAKwArACsAKwArAAQAKwArACsAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAB4AHgAeAB4AHgAeABsAHgArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArAFAAUABQACsAKwArACsAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAB4AUAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQACsAKwAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABAArACsAKwArACsAKwArAAQABAArACsAKwArACsAKwArAFAAKwBQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAFAABAAEAAQABAAEAAQABAArAAQABAAEACsABAAEAAQABABQAB4AKwArACsAKwBQAFAAUAAEAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwBLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQABoAUABQAFAAUABQAFAAKwArAAQABAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQACsAUAArACsAUABQAFAAUABQAFAAUAArACsAKwAEACsAKwArACsABAAEAAQABAAEAAQAKwAEACsABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgAqACsAKwArACsAGwBcAFwAXABcAFwAXABcACoAKgAqACoAKgAqACoAKgAeAEsASwBLAEsASwBLAEsASwBLAEsADQANACsAKwArACsAKwBcAFwAKwBcACsAKwBcAFwAKwBcACsAKwBcACsAKwArACsAKwArAFwAXABcAFwAKwBcAFwAXABcAFwAXABcACsAXABcAFwAKwBcACsAXAArACsAXABcACsAXABcAFwAXAAqAFwAXAAqACoAKgAqACoAKgArACoAKgBcACsAKwBcAFwAXABcAFwAKwBcACsAKgAqACoAKgAqACoAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArAFwAXABcAFwAUAAOAA4ADgAOAB4ADgAOAAkADgAOAA0ACQATABMAEwATABMACQAeABMAHgAeAB4ABAAEAB4AHgAeAB4AHgAeAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAFAAUAANAAQAHgAEAB4ABAAWABEAFgARAAQABABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAAQABAAEAAQABAANAAQABABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsADQANAB4AHgAeAB4AHgAeAAQAHgAeAB4AHgAeAB4AKwAeAB4ADgAOAA0ADgAeAB4AHgAeAB4ACQAJACsAKwArACsAKwBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqAFwASwBLAEsASwBLAEsASwBLAEsASwANAA0AHgAeAB4AHgBcAFwAXABcAFwAXAAqACoAKgAqAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAKgAqACoAKgAqACoAKgBcAFwAXAAqACoAKgAqAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgAqACoAXAAqAEsASwBLAEsASwBLAEsASwBLAEsAKgAqACoAKgAqACoAUABQAFAAUABQAFAAKwBQACsAKwArACsAKwBQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQACsAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwAEAAQABAAeAA0AHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQABYAEQArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAADQANAA0AUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAA0ADQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQACsABAAEACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoADQANABUAXAANAB4ADQAbAFwAKgArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAB4AHgATABMADQANAA4AHgATABMAHgAEAAQABAAJACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAUABQAFAAUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwAeACsAKwArABMAEwBLAEsASwBLAEsASwBLAEsASwBLAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwBcAFwAXABcAFwAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcACsAKwArACsAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBcACsAKwArACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEACsAKwAeAB4AXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAKgAqACoAKgAqACoAKgArACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsABABLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKgAqACoAKgAqACoAKgBcACoAKgAqACoAKgAqACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAUABQAFAAUABQAFAAUAArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsADQANAB4ADQANAA0ADQAeAB4AHgAeAB4AHgAeAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArAAQABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAEsASwBLAEsASwBLAEsASwBLAEsAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAHgAeAB4AHgBQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwANAA0ADQANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwBQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAANAA0AUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsABAAEAAQAHgAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAFAAUABQAFAABABQAFAAUABQAAQABAAEAFAAUAAEAAQABAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAKwBQACsAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAFAAHgAeAB4AUABQAFAAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAKwArAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAKwAeAB4AHgAeAB4AHgAeAA4AHgArAA0ADQANAA0ADQANAA0ACQANAA0ADQAIAAQACwAEAAQADQAJAA0ADQAMAB0AHQAeABcAFwAWABcAFwAXABYAFwAdAB0AHgAeABQAFAAUAA0AAQABAAQABAAEAAQABAAJABoAGgAaABoAGgAaABoAGgAeABcAFwAdABUAFQAeAB4AHgAeAB4AHgAYABYAEQAVABUAFQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgANAB4ADQANAA0ADQAeAA0ADQANAAcAHgAeAB4AHgArAAQABAAEAAQABAAEAAQABAAEAAQAUABQACsAKwBPAFAAUABQAFAAUAAeAB4AHgAWABEATwBQAE8ATwBPAE8AUABQAFAAUABQAB4AHgAeABYAEQArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAaABsAGwAbABsAGgAbABsAGgAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsAGwAbABsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgBQABoAHgAdAB4AUAAeABoAHgAeAB4AHgAeAB4AHgAeAB4ATwAeAFAAGwAeAB4AUABQAFAAUABQAB4AHgAeAB0AHQAeAFAAHgBQAB4AUAAeAFAATwBQAFAAHgAeAB4AHgAeAB4AHgBQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AUABQAFAAUABPAE8AUABQAFAAUABQAE8AUABQAE8AUABPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAFAAUABQAE8ATwBPAE8ATwBPAE8ATwBPAE8AUABQAFAAUABQAFAAUABQAFAAHgAeAFAAUABQAFAATwAeAB4AKwArACsAKwAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB0AHQAeAB4AHgAdAB0AHgAeAB0AHgAeAB4AHQAeAB0AGwAbAB4AHQAeAB4AHgAeAB0AHgAeAB0AHQAdAB0AHgAeAB0AHgAdAB4AHQAdAB0AHQAdAB0AHgAdAB4AHgAeAB4AHgAdAB0AHQAdAB4AHgAeAB4AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAeAB4AHgAdAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHgAdAB0AHQAdAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHQAeAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAFgARAB4AHgAeAB4AHgAeAB0AHgAeAB4AHgAeAB4AHgAlACUAHgAeAB4AHgAeAB4AHgAeAB4AFgARAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBQAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeAB0AHQAdAB0AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAdAB0AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAdAB0AHgAeAB0AHQAeAB4AHgAeAB0AHQAeAB4AHgAeAB0AHQAdAB4AHgAdAB4AHgAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAeAB0AHQAeAB4AHQAeAB4AHgAeAB0AHQAeAB4AHgAeACUAJQAdAB0AJQAeACUAJQAlACAAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAHgAeAB4AHgAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB4AHQAdAB0AHgAdACUAHQAdAB4AHQAdAB4AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB0AHQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAHQAdAB0AHQAlAB4AJQAlACUAHQAlACUAHQAdAB0AJQAlAB0AHQAlAB0AHQAlACUAJQAeAB0AHgAeAB4AHgAdAB0AJQAdAB0AHQAdAB0AHQAlACUAJQAlACUAHQAlACUAIAAlAB0AHQAlACUAJQAlACUAJQAlACUAHgAeAB4AJQAlACAAIAAgACAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAdAB4AHgAeABcAFwAXABcAFwAXAB4AEwATACUAHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAWABEAFgARAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAWABEAFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAFgARABYAEQAWABEAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFgARABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeABYAEQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHQAdAB0AHQAdAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAeAB4AKwArACsAKwArABMADQANAA0AUAATAA0AUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUAANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAA0ADQANAA0ADQANAA0ADQAeAA0AFgANAB4AHgAXABcAHgAeABcAFwAWABEAFgARABYAEQAWABEADQANAA0ADQATAFAADQANAB4ADQANAB4AHgAeAB4AHgAMAAwADQANAA0AHgANAA0AFgANAA0ADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArAA0AEQARACUAJQBHAFcAVwAWABEAFgARABYAEQAWABEAFgARACUAJQAWABEAFgARABYAEQAWABEAFQAWABEAEQAlAFcAVwBXAFcAVwBXAFcAVwBXAAQABAAEAAQABAAEACUAVwBXAFcAVwA2ACUAJQBXAFcAVwBHAEcAJQAlACUAKwBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBRAFcAUQBXAFEAVwBXAFcAVwBXAFcAUQBXAFcAVwBXAFcAVwBRAFEAKwArAAQABAAVABUARwBHAFcAFQBRAFcAUQBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFEAVwBRAFcAUQBXAFcAVwBXAFcAVwBRAFcAVwBXAFcAVwBXAFEAUQBXAFcAVwBXABUAUQBHAEcAVwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACUAJQBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwArACUAJQAlACUAKwArACsAKwArACsAKwArACsAKwArACsAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQBRAFEAUQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAVwBXAFcAVwBXAFcAVwBXAFcAVwAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAE8ATwBPAE8ATwBPAE8ATwAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADQATAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABLAEsASwBLAEsASwBLAEsASwBLAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAABAAEAAQABAAeAAQABAAEAAQABAAEAAQABAAEAAQAHgBQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUABQAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAeAA0ADQANAA0ADQArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAB4AHgAeAB4AHgAeAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAB4AHgAeAB4AHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAAQAUABQAFAABABQAFAAUABQAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAeAB4AHgAeACsAKwArACsAUABQAFAAUABQAFAAHgAeABoAHgArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAADgAOABMAEwArACsAKwArACsAKwArACsABAAEAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwANAA0ASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUAAeAB4AHgBQAA4AUAArACsAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAA0ADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArAB4AWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYAFgAWABYACsAKwArAAQAHgAeAB4AHgAeAB4ADQANAA0AHgAeAB4AHgArAFAASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArAB4AHgBcAFwAXABcAFwAKgBcAFwAXABcAFwAXABcAFwAXABcAEsASwBLAEsASwBLAEsASwBLAEsAXABcAFwAXABcACsAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArAFAAUABQAAQAUABQAFAAUABQAFAAUABQAAQABAArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAHgANAA0ADQBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAKgAqACoAXAAqACoAKgBcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAAqAFwAKgAqACoAXABcACoAKgBcAFwAXABcAFwAKgAqAFwAKgBcACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcACoAKgBQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAA0ADQBQAFAAUAAEAAQAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQADQAEAAQAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAVABVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBUAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVAFUAVQBVACsAKwArACsAKwArACsAKwArACsAKwArAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAWQBZAFkAKwArACsAKwBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAWgBaAFoAKwArACsAKwAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYABgAGAAYAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArACsAKwArAFYABABWAFYAVgBWAFYAVgBWAFYAVgBWAB4AVgBWAFYAVgBWAFYAVgBWAFYAVgBWAFYAVgArAFYAVgBWAFYAVgArAFYAKwBWAFYAKwBWAFYAKwBWAFYAVgBWAFYAVgBWAFYAVgBWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAEQAWAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUAAaAB4AKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAGAARABEAGAAYABMAEwAWABEAFAArACsAKwArACsAKwAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACUAJQAlACUAJQAWABEAFgARABYAEQAWABEAFgARABYAEQAlACUAFgARACUAJQAlACUAJQAlACUAEQAlABEAKwAVABUAEwATACUAFgARABYAEQAWABEAJQAlACUAJQAlACUAJQAlACsAJQAbABoAJQArACsAKwArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAcAKwATACUAJQAbABoAJQAlABYAEQAlACUAEQAlABEAJQBXAFcAVwBXAFcAVwBXAFcAVwBXABUAFQAlACUAJQATACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXABYAJQARACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwAWACUAEQAlABYAEQARABYAEQARABUAVwBRAFEAUQBRAFEAUQBRAFEAUQBRAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAEcARwArACsAVwBXAFcAVwBXAFcAKwArAFcAVwBXAFcAVwBXACsAKwBXAFcAVwBXAFcAVwArACsAVwBXAFcAKwArACsAGgAbACUAJQAlABsAGwArAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwAEAAQABAAQAB0AKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsADQANAA0AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgBQAFAAHgAeAB4AKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQBQAFAAUABQACsAKwArACsAUABQAFAAUABQAFAAUABQAA0AUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAArACsAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArAFAAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAA0AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AHgBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsADQBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwBQAFAAUABQAFAABAAEAAQAKwAEAAQAKwArACsAKwArAAQABAAEAAQAUABQAFAAUAArAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsABAAEAAQAKwArACsAKwAEAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsADQANAA0ADQANAA0ADQANAB4AKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAB4AUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEACsAKwArACsAUABQAFAAUABQAA0ADQANAA0ADQANABQAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwANAA0ADQANAA0ADQANAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAHgAeAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQAeAB4AHgAeAB4AKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQABAAEAAQABAAeAB4AHgANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAKwArAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsASwBLAEsASwBLAEsASwBLAEsASwANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAeAA4AUAArACsAKwArACsAKwArACsAKwAEAFAAUABQAFAADQANAB4ADQAeAAQABAAEAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsAUAAOAFAADQANAA0AKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAANAA0AHgANAA0AHgAEACsAUABQAFAAUABQAFAAUAArAFAAKwBQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAA0AKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsABAAEAAQABAArAFAAUABQAFAAUABQAFAAUAArACsAUABQACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAArACsABAAEACsAKwAEAAQABAArACsAUAArACsAKwArACsAKwAEACsAKwArACsAKwBQAFAAUABQAFAABAAEACsAKwAEAAQABAAEAAQABAAEACsAKwArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABABQAFAAUABQAA0ADQANAA0AHgBLAEsASwBLAEsASwBLAEsASwBLACsADQArAB4AKwArAAQABAAEAAQAUABQAB4AUAArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEACsAKwAEAAQABAAEAAQABAAEAAQABAAOAA0ADQATABMAHgAeAB4ADQANAA0ADQANAA0ADQANAA0ADQANAA0ADQANAA0AUABQAFAAUAAEAAQAKwArAAQADQANAB4AUAArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwAOAA4ADgAOAA4ADgAOAA4ADgAOAA4ADgAOACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXABcAFwAXAArACsAKwAqACoAKgAqACoAKgAqACoAKgAqACoAKgAqACoAKgArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAXABcAA0ADQANACoASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwBQAFAABAAEAAQABAAEAAQABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAFAABAAEAAQABAAOAB4ADQANAA0ADQAOAB4ABAArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQAUABQAFAAUAArACsAUABQAFAAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAA0ADQANACsADgAOAA4ADQANACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAABAAEAAQABAAEAAQABAAEACsABAAEAAQABAAEAAQABAAEAFAADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwAOABMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQACsAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAArACsAKwAEACsABAAEACsABAAEAAQABAAEAAQABABQAAQAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsADQANAA0ADQANACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABIAEgAQwBDAEMAUABQAFAAUABDAFAAUABQAEgAQwBIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAASABDAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABIAEMAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAEsASwBLAEsASwBLAEsASwBLAEsAKwArACsAKwANAA0AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArAAQABAAEAAQABAANACsAKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAEAAQABAAEAAQABAAEAA0ADQANAB4AHgAeAB4AHgAeAFAAUABQAFAADQAeACsAKwArACsAKwArACsAKwArACsASwBLAEsASwBLAEsASwBLAEsASwArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAUAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAEcARwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwArACsAKwArACsAKwArACsAKwArACsAKwArAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwBQAFAAUABQAFAAUABQAFAAUABQACsAKwAeAAQABAANAAQABAAEAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAeAB4AHgArACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAEAAQABAAEAB4AHgAeAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQAHgAeAAQABAAEAAQABAAEAAQAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAEAAQABAAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwArACsAKwArACsAKwArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUAArACsAUAArACsAUABQACsAKwBQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AKwBQACsAUABQAFAAUABQAFAAUAArAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwAeAB4AUABQAFAAUABQACsAUAArACsAKwBQAFAAUABQAFAAUABQACsAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgArACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUAAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAHgAeAB4AHgAeAB4AHgAeAB4AKwArAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsASwBLAEsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4ABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAB4AHgAeAB4AHgAeAB4AHgAEAB4AHgAeAB4AHgAeAB4AHgAeAB4ABAAeAB4ADQANAA0ADQAeACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAArAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsABAAEAAQABAAEAAQABAArAAQABAArAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwBQAFAAUABQAFAAKwArAFAAUABQAFAAUABQAFAAUABQAAQABAAEAAQABAAEAAQAKwArACsAKwArACsAKwArACsAHgAeAB4AHgAEAAQABAAEAAQABAAEACsAKwArACsAKwBLAEsASwBLAEsASwBLAEsASwBLACsAKwArACsAFgAWAFAAUABQAFAAKwBQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUAArAFAAKwBQACsAKwArACsAKwArAFAAKwArACsAKwBQACsAUAArAFAAKwBQAFAAUAArAFAAUAArAFAAKwArAFAAKwBQACsAUAArAFAAKwBQACsAUABQACsAUAArACsAUABQAFAAUAArAFAAUABQAFAAUABQAFAAKwBQAFAAUABQACsAUABQAFAAUAArAFAAKwBQAFAAUABQAFAAUABQAFAAUABQACsAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQACsAKwArACsAKwBQAFAAUAArAFAAUABQAFAAUAArAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUABQAFAAUAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArAB4AHgArACsAKwArACsAKwArACsAKwArACsAKwArACsATwBPAE8ATwBPAE8ATwBPAE8ATwBPAE8ATwAlACUAJQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAeACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHgAeACUAJQAlACUAHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdAB0AHQAdACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQApACkAKQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeACUAJQAlACUAJQAeACUAJQAlACUAJQAgACAAIAAlACUAIAAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIQAhACEAIQAhACUAJQAgACAAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAIAAlACUAJQAlACAAJQAgACAAIAAgACAAIAAgACAAIAAlACUAJQAgACUAJQAlACUAIAAgACAAJQAgACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeACUAHgAlAB4AJQAlACUAJQAlACAAJQAlACUAJQAeACUAHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACAAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAIAAgACAAIAAgAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AFwAXABcAFQAVABUAHgAeAB4AHgAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAIAAgACAAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAIAAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAJQAlAB4AHgAeAB4AHgAeAB4AHgAeAB4AJQAlACUAJQAlACUAHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeAB4AHgAeACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAlACAAIAAlACUAJQAlACUAJQAgACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAIAAgACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACAAIAAgACAAIAAgACAAIAAgACAAIAAgACAAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACsAKwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAVwBXAFcAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQAlACUAJQArAAQAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAAEAAQABAArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsAKwArACsA\"),ja=Array.isArray(Ga)?function(A){for(var t=A.length,e=[],n=0;n<t;n+=4)e.push(A[n+3]<<24|A[n+2]<<16|A[n+1]<<8|A[n]);return e}(Ga):new Uint32Array(Ga),Wa=Array.isArray(Ga)?function(A){for(var t=A.length,e=[],n=0;n<t;n+=2)e.push(A[n+1]<<8|A[n]);return e}(Ga):new Uint16Array(Ga),Ya=Au(Wa,12,ja[4]/2),qa=2===ja[5]?Au(Wa,(24+ja[4])/2):(Va=ja,Xa=Math.ceil((24+ja[4])/4),Va.slice?Va.slice(Xa,Ja):new Uint32Array(Array.prototype.slice.call(Va,Xa,Ja))),new tu(ja[0],ja[1],ja[2],ja[3],Ya,qa)),_u=[gu,36],Hu=[1,2,3,5],bu=[eu,8],Nu=[Bu,hu],Ku=Hu.concat(bu),Iu=[Cu,Eu,yu,Qu,vu],Ou=[ru,nu],Tu=function(A,t,e,n){var r=n[e];if(Array.isArray(A)?-1!==A.indexOf(r):A===r)for(var o=e;o<=n.length;){if((a=n[++o])===t)return!0;if(a!==eu)break}if(r===eu)for(o=e;o>0;){var i=n[--o];if(Array.isArray(A)?-1!==A.indexOf(i):A===i)for(var s=e;s<=n.length;){var a;if((a=n[++s])===t)return!0;if(a!==eu)break}if(i!==eu)break}return!1},xu=function(A,t){for(var e=A;e>=0;){var n=t[e];if(n!==eu)return n;e--}return 0},Su=function(A,t,e,n,r){if(0===e[n])return\"×\";var o=n-1;if(Array.isArray(r)&&!0===r[o])return\"×\";var i=o-1,s=o+1,a=t[o],u=i>=0?t[i]:0,c=t[s];if(2===a&&3===c)return\"×\";if(-1!==Hu.indexOf(a))return\"!\";if(-1!==Hu.indexOf(c))return\"×\";if(-1!==bu.indexOf(c))return\"×\";if(8===xu(o,t))return\"÷\";if(11===mu.get(A[o])&&(c===Uu||c===du||c===wu))return\"×\";if(7===a||7===c)return\"×\";if(9===a)return\"×\";if(-1===[eu,nu,ru].indexOf(a)&&9===c)return\"×\";if(-1!==[ou,iu,su,lu,pu].indexOf(c))return\"×\";if(xu(o,t)===cu)return\"×\";if(Tu(23,cu,o,t))return\"×\";if(Tu([ou,iu],uu,o,t))return\"×\";if(Tu(12,12,o,t))return\"×\";if(a===eu)return\"÷\";if(23===a||23===c)return\"×\";if(16===c||16===a)return\"÷\";if(-1!==[nu,ru,uu].indexOf(c)||14===a)return\"×\";if(36===u&&-1!==Ou.indexOf(a))return\"×\";if(a===pu&&36===c)return\"×\";if(c===au&&-1!==_u.concat(au,su,fu,Uu,du,wu).indexOf(a))return\"×\";if(-1!==_u.indexOf(c)&&a===fu||-1!==_u.indexOf(a)&&c===fu)return\"×\";if(a===Bu&&-1!==[Uu,du,wu].indexOf(c)||-1!==[Uu,du,wu].indexOf(a)&&c===hu)return\"×\";if(-1!==_u.indexOf(a)&&-1!==Nu.indexOf(c)||-1!==Nu.indexOf(a)&&-1!==_u.indexOf(c))return\"×\";if(-1!==[Bu,hu].indexOf(a)&&(c===fu||-1!==[cu,ru].indexOf(c)&&t[s+1]===fu)||-1!==[cu,ru].indexOf(a)&&c===fu||a===fu&&-1!==[fu,pu,lu].indexOf(c))return\"×\";if(-1!==[fu,pu,lu,ou,iu].indexOf(c))for(var l=o;l>=0;){if((f=t[l])===fu)return\"×\";if(-1===[pu,lu].indexOf(f))break;l--}if(-1!==[Bu,hu].indexOf(c))for(l=-1!==[ou,iu].indexOf(a)?i:o;l>=0;){var f;if((f=t[l])===fu)return\"×\";if(-1===[pu,lu].indexOf(f))break;l--}if(Cu===a&&-1!==[Cu,Eu,Qu,vu].indexOf(c)||-1!==[Eu,Qu].indexOf(a)&&-1!==[Eu,yu].indexOf(c)||-1!==[yu,vu].indexOf(a)&&c===yu)return\"×\";if(-1!==Iu.indexOf(a)&&-1!==[au,hu].indexOf(c)||-1!==Iu.indexOf(c)&&a===Bu)return\"×\";if(-1!==_u.indexOf(a)&&-1!==_u.indexOf(c))return\"×\";if(a===lu&&-1!==_u.indexOf(c))return\"×\";if(-1!==_u.concat(fu).indexOf(a)&&c===cu||-1!==_u.concat(fu).indexOf(c)&&a===iu)return\"×\";if(41===a&&41===c){for(var h=e[o],B=1;h>0&&41===t[--h];)B++;if(B%2!=0)return\"×\"}return a===du&&c===wu?\"×\":\"÷\"},Ru=function(A,t){t||(t={lineBreak:\"normal\",wordBreak:\"normal\"});var e=function(A,t){void 0===t&&(t=\"strict\");var e=[],n=[],r=[];return A.forEach((function(A,o){var i=mu.get(A);if(i>50?(r.push(!0),i-=50):r.push(!1),-1!==[\"normal\",\"auto\",\"loose\"].indexOf(t)&&-1!==[8208,8211,12316,12448].indexOf(A))return n.push(o),e.push(16);if(4===i||11===i){if(0===o)return n.push(o),e.push(gu);var s=e[o-1];return-1===Ku.indexOf(s)?(n.push(n[o-1]),e.push(s)):(n.push(o),e.push(gu))}return n.push(o),31===i?e.push(\"strict\"===t?uu:Uu):i===Fu||29===i?e.push(gu):43===i?A>=131072&&A<=196605||A>=196608&&A<=262141?e.push(Uu):e.push(gu):void e.push(i)})),[n,e,r]}(A,t.lineBreak),n=e[0],r=e[1],o=e[2];return\"break-all\"!==t.wordBreak&&\"break-word\"!==t.wordBreak||(r=r.map((function(A){return-1!==[fu,gu,Fu].indexOf(A)?Uu:A}))),[n,r,\"keep-all\"===t.wordBreak?o.map((function(t,e){return t&&A[e]>=19968&&A[e]<=40959})):void 0]},Lu=function(){function A(A,t,e,n){this.codePoints=A,this.required=\"!\"===t,this.start=e,this.end=n}return A.prototype.slice=function(){return Da.apply(void 0,this.codePoints.slice(this.start,this.end))},A}();(Za=$a||($a={}))[Za.STRING_TOKEN=0]=\"STRING_TOKEN\",Za[Za.BAD_STRING_TOKEN=1]=\"BAD_STRING_TOKEN\",Za[Za.LEFT_PARENTHESIS_TOKEN=2]=\"LEFT_PARENTHESIS_TOKEN\",Za[Za.RIGHT_PARENTHESIS_TOKEN=3]=\"RIGHT_PARENTHESIS_TOKEN\",Za[Za.COMMA_TOKEN=4]=\"COMMA_TOKEN\",Za[Za.HASH_TOKEN=5]=\"HASH_TOKEN\",Za[Za.DELIM_TOKEN=6]=\"DELIM_TOKEN\",Za[Za.AT_KEYWORD_TOKEN=7]=\"AT_KEYWORD_TOKEN\",Za[Za.PREFIX_MATCH_TOKEN=8]=\"PREFIX_MATCH_TOKEN\",Za[Za.DASH_MATCH_TOKEN=9]=\"DASH_MATCH_TOKEN\",Za[Za.INCLUDE_MATCH_TOKEN=10]=\"INCLUDE_MATCH_TOKEN\",Za[Za.LEFT_CURLY_BRACKET_TOKEN=11]=\"LEFT_CURLY_BRACKET_TOKEN\",Za[Za.RIGHT_CURLY_BRACKET_TOKEN=12]=\"RIGHT_CURLY_BRACKET_TOKEN\",Za[Za.SUFFIX_MATCH_TOKEN=13]=\"SUFFIX_MATCH_TOKEN\",Za[Za.SUBSTRING_MATCH_TOKEN=14]=\"SUBSTRING_MATCH_TOKEN\",Za[Za.DIMENSION_TOKEN=15]=\"DIMENSION_TOKEN\",Za[Za.PERCENTAGE_TOKEN=16]=\"PERCENTAGE_TOKEN\",Za[Za.NUMBER_TOKEN=17]=\"NUMBER_TOKEN\",Za[Za.FUNCTION=18]=\"FUNCTION\",Za[Za.FUNCTION_TOKEN=19]=\"FUNCTION_TOKEN\",Za[Za.IDENT_TOKEN=20]=\"IDENT_TOKEN\",Za[Za.COLUMN_TOKEN=21]=\"COLUMN_TOKEN\",Za[Za.URL_TOKEN=22]=\"URL_TOKEN\",Za[Za.BAD_URL_TOKEN=23]=\"BAD_URL_TOKEN\",Za[Za.CDC_TOKEN=24]=\"CDC_TOKEN\",Za[Za.CDO_TOKEN=25]=\"CDO_TOKEN\",Za[Za.COLON_TOKEN=26]=\"COLON_TOKEN\",Za[Za.SEMICOLON_TOKEN=27]=\"SEMICOLON_TOKEN\",Za[Za.LEFT_SQUARE_BRACKET_TOKEN=28]=\"LEFT_SQUARE_BRACKET_TOKEN\",Za[Za.RIGHT_SQUARE_BRACKET_TOKEN=29]=\"RIGHT_SQUARE_BRACKET_TOKEN\",Za[Za.UNICODE_RANGE_TOKEN=30]=\"UNICODE_RANGE_TOKEN\",Za[Za.WHITESPACE_TOKEN=31]=\"WHITESPACE_TOKEN\",Za[Za.EOF_TOKEN=32]=\"EOF_TOKEN\";var Mu=function(A){return A>=48&&A<=57},Du=function(A){return Mu(A)||A>=65&&A<=70||A>=97&&A<=102},ku=function(A){return 10===A||9===A||32===A},Pu=function(A){return function(A){return function(A){return A>=97&&A<=122}(A)||function(A){return A>=65&&A<=90}(A)}(A)||function(A){return A>=128}(A)||95===A},zu=function(A){return Pu(A)||Mu(A)||45===A},Vu=function(A){return A>=0&&A<=8||11===A||A>=14&&A<=31||127===A},Xu=function(A,t){return 92===A&&10!==t},Ju=function(A,t,e){return 45===A?Pu(t)||Xu(t,e):!!Pu(A)||!(92!==A||!Xu(A,t))},Gu=function(A,t,e){return 43===A||45===A?!!Mu(t)||46===t&&Mu(e):Mu(46===A?t:A)},ju=function(A){var t=0,e=1;43!==A[t]&&45!==A[t]||(45===A[t]&&(e=-1),t++);for(var n=[];Mu(A[t]);)n.push(A[t++]);var r=n.length?parseInt(Da.apply(void 0,n),10):0;46===A[t]&&t++;for(var o=[];Mu(A[t]);)o.push(A[t++]);var i=o.length,s=i?parseInt(Da.apply(void 0,o),10):0;69!==A[t]&&101!==A[t]||t++;var a=1;43!==A[t]&&45!==A[t]||(45===A[t]&&(a=-1),t++);for(var u=[];Mu(A[t]);)u.push(A[t++]);var c=u.length?parseInt(Da.apply(void 0,u),10):0;return e*(r+s*Math.pow(10,-i))*Math.pow(10,a*c)},Wu={type:$a.LEFT_PARENTHESIS_TOKEN},Yu={type:$a.RIGHT_PARENTHESIS_TOKEN},qu={type:$a.COMMA_TOKEN},$u={type:$a.SUFFIX_MATCH_TOKEN},Zu={type:$a.PREFIX_MATCH_TOKEN},Ac={type:$a.COLUMN_TOKEN},tc={type:$a.DASH_MATCH_TOKEN},ec={type:$a.INCLUDE_MATCH_TOKEN},nc={type:$a.LEFT_CURLY_BRACKET_TOKEN},rc={type:$a.RIGHT_CURLY_BRACKET_TOKEN},oc={type:$a.SUBSTRING_MATCH_TOKEN},ic={type:$a.BAD_URL_TOKEN},sc={type:$a.BAD_STRING_TOKEN},ac={type:$a.CDO_TOKEN},uc={type:$a.CDC_TOKEN},cc={type:$a.COLON_TOKEN},lc={type:$a.SEMICOLON_TOKEN},fc={type:$a.LEFT_SQUARE_BRACKET_TOKEN},hc={type:$a.RIGHT_SQUARE_BRACKET_TOKEN},Bc={type:$a.WHITESPACE_TOKEN},pc={type:$a.EOF_TOKEN},gc=function(){function A(){this._value=[]}return A.prototype.write=function(A){this._value=this._value.concat(Ma(A))},A.prototype.read=function(){for(var A=[],t=this.consumeToken();t!==pc;)A.push(t),t=this.consumeToken();return A},A.prototype.consumeToken=function(){var A=this.consumeCodePoint();switch(A){case 34:return this.consumeStringToken(34);case 35:var t=this.peekCodePoint(0),e=this.peekCodePoint(1),n=this.peekCodePoint(2);if(zu(t)||Xu(e,n)){var r=Ju(t,e,n)?2:1,o=this.consumeName();return{type:$a.HASH_TOKEN,value:o,flags:r}}break;case 36:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),$u;break;case 39:return this.consumeStringToken(39);case 40:return Wu;case 41:return Yu;case 42:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),oc;break;case 43:if(Gu(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case 44:return qu;case 45:var i=A,s=this.peekCodePoint(0),a=this.peekCodePoint(1);if(Gu(i,s,a))return this.reconsumeCodePoint(A),this.consumeNumericToken();if(Ju(i,s,a))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();if(45===s&&62===a)return this.consumeCodePoint(),this.consumeCodePoint(),uc;break;case 46:if(Gu(A,this.peekCodePoint(0),this.peekCodePoint(1)))return this.reconsumeCodePoint(A),this.consumeNumericToken();break;case 47:if(42===this.peekCodePoint(0))for(this.consumeCodePoint();;){var u=this.consumeCodePoint();if(42===u&&47===(u=this.consumeCodePoint()))return this.consumeToken();if(-1===u)return this.consumeToken()}break;case 58:return cc;case 59:return lc;case 60:if(33===this.peekCodePoint(0)&&45===this.peekCodePoint(1)&&45===this.peekCodePoint(2))return this.consumeCodePoint(),this.consumeCodePoint(),ac;break;case 64:var c=this.peekCodePoint(0),l=this.peekCodePoint(1),f=this.peekCodePoint(2);if(Ju(c,l,f)){o=this.consumeName();return{type:$a.AT_KEYWORD_TOKEN,value:o}}break;case 91:return fc;case 92:if(Xu(A,this.peekCodePoint(0)))return this.reconsumeCodePoint(A),this.consumeIdentLikeToken();break;case 93:return hc;case 61:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),Zu;break;case 123:return nc;case 125:return rc;case 117:case 85:var h=this.peekCodePoint(0),B=this.peekCodePoint(1);return 43!==h||!Du(B)&&63!==B||(this.consumeCodePoint(),this.consumeUnicodeRangeToken()),this.reconsumeCodePoint(A),this.consumeIdentLikeToken();case 124:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),tc;if(124===this.peekCodePoint(0))return this.consumeCodePoint(),Ac;break;case 126:if(61===this.peekCodePoint(0))return this.consumeCodePoint(),ec;break;case-1:return pc}return ku(A)?(this.consumeWhiteSpace(),Bc):Mu(A)?(this.reconsumeCodePoint(A),this.consumeNumericToken()):Pu(A)?(this.reconsumeCodePoint(A),this.consumeIdentLikeToken()):{type:$a.DELIM_TOKEN,value:Da(A)}},A.prototype.consumeCodePoint=function(){var A=this._value.shift();return void 0===A?-1:A},A.prototype.reconsumeCodePoint=function(A){this._value.unshift(A)},A.prototype.peekCodePoint=function(A){return A>=this._value.length?-1:this._value[A]},A.prototype.consumeUnicodeRangeToken=function(){for(var A=[],t=this.consumeCodePoint();Du(t)&&A.length<6;)A.push(t),t=this.consumeCodePoint();for(var e=!1;63===t&&A.length<6;)A.push(t),t=this.consumeCodePoint(),e=!0;if(e){var n=parseInt(Da.apply(void 0,A.map((function(A){return 63===A?48:A}))),16),r=parseInt(Da.apply(void 0,A.map((function(A){return 63===A?70:A}))),16);return{type:$a.UNICODE_RANGE_TOKEN,start:n,end:r}}var o=parseInt(Da.apply(void 0,A),16);if(45===this.peekCodePoint(0)&&Du(this.peekCodePoint(1))){this.consumeCodePoint(),t=this.consumeCodePoint();for(var i=[];Du(t)&&i.length<6;)i.push(t),t=this.consumeCodePoint();r=parseInt(Da.apply(void 0,i),16);return{type:$a.UNICODE_RANGE_TOKEN,start:o,end:r}}return{type:$a.UNICODE_RANGE_TOKEN,start:o,end:o}},A.prototype.consumeIdentLikeToken=function(){var A=this.consumeName();return\"url\"===A.toLowerCase()&&40===this.peekCodePoint(0)?(this.consumeCodePoint(),this.consumeUrlToken()):40===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:$a.FUNCTION_TOKEN,value:A}):{type:$a.IDENT_TOKEN,value:A}},A.prototype.consumeUrlToken=function(){var A=[];if(this.consumeWhiteSpace(),-1===this.peekCodePoint(0))return{type:$a.URL_TOKEN,value:\"\"};var t=this.peekCodePoint(0);if(39===t||34===t){var e=this.consumeStringToken(this.consumeCodePoint());return e.type===$a.STRING_TOKEN&&(this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0))?(this.consumeCodePoint(),{type:$a.URL_TOKEN,value:e.value}):(this.consumeBadUrlRemnants(),ic)}for(;;){var n=this.consumeCodePoint();if(-1===n||41===n)return{type:$a.URL_TOKEN,value:Da.apply(void 0,A)};if(ku(n))return this.consumeWhiteSpace(),-1===this.peekCodePoint(0)||41===this.peekCodePoint(0)?(this.consumeCodePoint(),{type:$a.URL_TOKEN,value:Da.apply(void 0,A)}):(this.consumeBadUrlRemnants(),ic);if(34===n||39===n||40===n||Vu(n))return this.consumeBadUrlRemnants(),ic;if(92===n){if(!Xu(n,this.peekCodePoint(0)))return this.consumeBadUrlRemnants(),ic;A.push(this.consumeEscapedCodePoint())}else A.push(n)}},A.prototype.consumeWhiteSpace=function(){for(;ku(this.peekCodePoint(0));)this.consumeCodePoint()},A.prototype.consumeBadUrlRemnants=function(){for(;;){var A=this.consumeCodePoint();if(41===A||-1===A)return;Xu(A,this.peekCodePoint(0))&&this.consumeEscapedCodePoint()}},A.prototype.consumeStringSlice=function(A){for(var t=\"\";A>0;){var e=Math.min(6e4,A);t+=Da.apply(void 0,this._value.splice(0,e)),A-=e}return this._value.shift(),t},A.prototype.consumeStringToken=function(A){for(var t=\"\",e=0;;){var n=this._value[e];if(-1===n||void 0===n||n===A)return t+=this.consumeStringSlice(e),{type:$a.STRING_TOKEN,value:t};if(10===n)return this._value.splice(0,e),sc;if(92===n){var r=this._value[e+1];-1!==r&&void 0!==r&&(10===r?(t+=this.consumeStringSlice(e),e=-1,this._value.shift()):Xu(n,r)&&(t+=this.consumeStringSlice(e),t+=Da(this.consumeEscapedCodePoint()),e=-1))}e++}},A.prototype.consumeNumber=function(){var A=[],t=4,e=this.peekCodePoint(0);for(43!==e&&45!==e||A.push(this.consumeCodePoint());Mu(this.peekCodePoint(0));)A.push(this.consumeCodePoint());e=this.peekCodePoint(0);var n=this.peekCodePoint(1);if(46===e&&Mu(n))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;Mu(this.peekCodePoint(0));)A.push(this.consumeCodePoint());e=this.peekCodePoint(0),n=this.peekCodePoint(1);var r=this.peekCodePoint(2);if((69===e||101===e)&&((43===n||45===n)&&Mu(r)||Mu(n)))for(A.push(this.consumeCodePoint(),this.consumeCodePoint()),t=8;Mu(this.peekCodePoint(0));)A.push(this.consumeCodePoint());return[ju(A),t]},A.prototype.consumeNumericToken=function(){var A=this.consumeNumber(),t=A[0],e=A[1],n=this.peekCodePoint(0),r=this.peekCodePoint(1),o=this.peekCodePoint(2);if(Ju(n,r,o)){var i=this.consumeName();return{type:$a.DIMENSION_TOKEN,number:t,flags:e,unit:i}}return 37===n?(this.consumeCodePoint(),{type:$a.PERCENTAGE_TOKEN,number:t,flags:e}):{type:$a.NUMBER_TOKEN,number:t,flags:e}},A.prototype.consumeEscapedCodePoint=function(){var A=this.consumeCodePoint();if(Du(A)){for(var t=Da(A);Du(this.peekCodePoint(0))&&t.length<6;)t+=Da(this.consumeCodePoint());ku(this.peekCodePoint(0))&&this.consumeCodePoint();var e=parseInt(t,16);return 0===e||function(A){return A>=55296&&A<=57343}(e)||e>1114111?65533:e}return-1===A?65533:A},A.prototype.consumeName=function(){for(var A=\"\";;){var t=this.consumeCodePoint();if(zu(t))A+=Da(t);else{if(!Xu(t,this.peekCodePoint(0)))return this.reconsumeCodePoint(t),A;A+=Da(this.consumeEscapedCodePoint())}}},A}(),dc=function(){function A(A){this._tokens=A}return A.create=function(t){var e=new gc;return e.write(t),new A(e.read())},A.parseValue=function(t){return A.create(t).parseComponentValue()},A.parseValues=function(t){return A.create(t).parseComponentValues()},A.prototype.parseComponentValue=function(){for(var A=this.consumeToken();A.type===$a.WHITESPACE_TOKEN;)A=this.consumeToken();if(A.type===$a.EOF_TOKEN)throw new SyntaxError(\"Error parsing CSS component value, unexpected EOF\");this.reconsumeToken(A);var t=this.consumeComponentValue();do{A=this.consumeToken()}while(A.type===$a.WHITESPACE_TOKEN);if(A.type===$a.EOF_TOKEN)return t;throw new SyntaxError(\"Error parsing CSS component value, multiple values found when expecting only one\")},A.prototype.parseComponentValues=function(){for(var A=[];;){var t=this.consumeComponentValue();if(t.type===$a.EOF_TOKEN)return A;A.push(t),A.push()}},A.prototype.consumeComponentValue=function(){var A=this.consumeToken();switch(A.type){case $a.LEFT_CURLY_BRACKET_TOKEN:case $a.LEFT_SQUARE_BRACKET_TOKEN:case $a.LEFT_PARENTHESIS_TOKEN:return this.consumeSimpleBlock(A.type);case $a.FUNCTION_TOKEN:return this.consumeFunction(A)}return A},A.prototype.consumeSimpleBlock=function(A){for(var t={type:A,values:[]},e=this.consumeToken();;){if(e.type===$a.EOF_TOKEN||mc(e,A))return t;this.reconsumeToken(e),t.values.push(this.consumeComponentValue()),e=this.consumeToken()}},A.prototype.consumeFunction=function(A){for(var t={name:A.value,values:[],type:$a.FUNCTION};;){var e=this.consumeToken();if(e.type===$a.EOF_TOKEN||e.type===$a.RIGHT_PARENTHESIS_TOKEN)return t;this.reconsumeToken(e),t.values.push(this.consumeComponentValue())}},A.prototype.consumeToken=function(){var A=this._tokens.shift();return void 0===A?pc:A},A.prototype.reconsumeToken=function(A){this._tokens.unshift(A)},A}(),wc=function(A){return A.type===$a.DIMENSION_TOKEN},Qc=function(A){return A.type===$a.NUMBER_TOKEN},vc=function(A){return A.type===$a.IDENT_TOKEN},Uc=function(A){return A.type===$a.STRING_TOKEN},Cc=function(A,t){return vc(A)&&A.value===t},Ec=function(A){return A.type!==$a.WHITESPACE_TOKEN},yc=function(A){return A.type!==$a.WHITESPACE_TOKEN&&A.type!==$a.COMMA_TOKEN},Fc=function(A){var t=[],e=[];return A.forEach((function(A){if(A.type===$a.COMMA_TOKEN){if(0===e.length)throw new Error(\"Error parsing function args, zero tokens for arg\");return t.push(e),void(e=[])}A.type!==$a.WHITESPACE_TOKEN&&e.push(A)})),e.length&&t.push(e),t},mc=function(A,t){return t===$a.LEFT_CURLY_BRACKET_TOKEN&&A.type===$a.RIGHT_CURLY_BRACKET_TOKEN||(t===$a.LEFT_SQUARE_BRACKET_TOKEN&&A.type===$a.RIGHT_SQUARE_BRACKET_TOKEN||t===$a.LEFT_PARENTHESIS_TOKEN&&A.type===$a.RIGHT_PARENTHESIS_TOKEN)},_c=function(A){return A.type===$a.NUMBER_TOKEN||A.type===$a.DIMENSION_TOKEN},Hc=function(A){return A.type===$a.PERCENTAGE_TOKEN||_c(A)},bc=function(A){return A.length>1?[A[0],A[1]]:[A[0]]},Nc={type:$a.NUMBER_TOKEN,number:0,flags:4},Kc={type:$a.PERCENTAGE_TOKEN,number:50,flags:4},Ic={type:$a.PERCENTAGE_TOKEN,number:100,flags:4},Oc=function(A,t,e){var n=A[0],r=A[1];return[Tc(n,t),Tc(void 0!==r?r:n,e)]},Tc=function(A,t){if(A.type===$a.PERCENTAGE_TOKEN)return A.number/100*t;if(wc(A))switch(A.unit){case\"rem\":case\"em\":return 16*A.number;case\"px\":default:return A.number}return A.number},xc=function(A){if(A.type===$a.DIMENSION_TOKEN)switch(A.unit){case\"deg\":return Math.PI*A.number/180;case\"grad\":return Math.PI/200*A.number;case\"rad\":return A.number;case\"turn\":return 2*Math.PI*A.number}throw new Error(\"Unsupported angle type\")},Sc=function(A){return A.type===$a.DIMENSION_TOKEN&&(\"deg\"===A.unit||\"grad\"===A.unit||\"rad\"===A.unit||\"turn\"===A.unit)},Rc=function(A){switch(A.filter(vc).map((function(A){return A.value})).join(\" \")){case\"to bottom right\":case\"to right bottom\":case\"left top\":case\"top left\":return[Nc,Nc];case\"to top\":case\"bottom\":return Lc(0);case\"to bottom left\":case\"to left bottom\":case\"right top\":case\"top right\":return[Nc,Ic];case\"to right\":case\"left\":return Lc(90);case\"to top left\":case\"to left top\":case\"right bottom\":case\"bottom right\":return[Ic,Ic];case\"to bottom\":case\"top\":return Lc(180);case\"to top right\":case\"to right top\":case\"left bottom\":case\"bottom left\":return[Ic,Nc];case\"to left\":case\"right\":return Lc(270)}return 0},Lc=function(A){return Math.PI*A/180},Mc=function(A){if(A.type===$a.FUNCTION){var t=qc[A.name];if(void 0===t)throw new Error('Attempting to parse an unsupported color function \"'+A.name+'\"');return t(A.values)}if(A.type===$a.HASH_TOKEN){if(3===A.value.length){var e=A.value.substring(0,1),n=A.value.substring(1,2),r=A.value.substring(2,3);return Pc(parseInt(e+e,16),parseInt(n+n,16),parseInt(r+r,16),1)}if(4===A.value.length){e=A.value.substring(0,1),n=A.value.substring(1,2),r=A.value.substring(2,3);var o=A.value.substring(3,4);return Pc(parseInt(e+e,16),parseInt(n+n,16),parseInt(r+r,16),parseInt(o+o,16)/255)}if(6===A.value.length){e=A.value.substring(0,2),n=A.value.substring(2,4),r=A.value.substring(4,6);return Pc(parseInt(e,16),parseInt(n,16),parseInt(r,16),1)}if(8===A.value.length){e=A.value.substring(0,2),n=A.value.substring(2,4),r=A.value.substring(4,6),o=A.value.substring(6,8);return Pc(parseInt(e,16),parseInt(n,16),parseInt(r,16),parseInt(o,16)/255)}}if(A.type===$a.IDENT_TOKEN){var i=$c[A.value.toUpperCase()];if(void 0!==i)return i}return $c.TRANSPARENT},Dc=function(A){return 0==(255&A)},kc=function(A){var t=255&A,e=255&A>>8,n=255&A>>16,r=255&A>>24;return t<255?\"rgba(\"+r+\",\"+n+\",\"+e+\",\"+t/255+\")\":\"rgb(\"+r+\",\"+n+\",\"+e+\")\"},Pc=function(A,t,e,n){return(A<<24|t<<16|e<<8|Math.round(255*n)<<0)>>>0},zc=function(A,t){if(A.type===$a.NUMBER_TOKEN)return A.number;if(A.type===$a.PERCENTAGE_TOKEN){var e=3===t?1:255;return 3===t?A.number/100*e:Math.round(A.number/100*e)}return 0},Vc=function(A){var t=A.filter(yc);if(3===t.length){var e=t.map(zc),n=e[0],r=e[1],o=e[2];return Pc(n,r,o,1)}if(4===t.length){var i=t.map(zc),s=(n=i[0],r=i[1],o=i[2],i[3]);return Pc(n,r,o,s)}return 0};function Xc(A,t,e){return e<0&&(e+=1),e>=1&&(e-=1),e<1/6?(t-A)*e*6+A:e<.5?t:e<2/3?6*(t-A)*(2/3-e)+A:A}var Jc,Gc,jc,Wc,Yc=function(A){var t=A.filter(yc),e=t[0],n=t[1],r=t[2],o=t[3],i=(e.type===$a.NUMBER_TOKEN?Lc(e.number):xc(e))/(2*Math.PI),s=Hc(n)?n.number/100:0,a=Hc(r)?r.number/100:0,u=void 0!==o&&Hc(o)?Tc(o,1):1;if(0===s)return Pc(255*a,255*a,255*a,1);var c=a<=.5?a*(s+1):a+s-a*s,l=2*a-c,f=Xc(l,c,i+1/3),h=Xc(l,c,i),B=Xc(l,c,i-1/3);return Pc(255*f,255*h,255*B,u)},qc={hsl:Yc,hsla:Yc,rgb:Vc,rgba:Vc},$c={ALICEBLUE:4042850303,ANTIQUEWHITE:4209760255,AQUA:16777215,AQUAMARINE:2147472639,AZURE:4043309055,BEIGE:4126530815,BISQUE:4293182719,BLACK:255,BLANCHEDALMOND:4293643775,BLUE:65535,BLUEVIOLET:2318131967,BROWN:2771004159,BURLYWOOD:3736635391,CADETBLUE:1604231423,CHARTREUSE:2147418367,CHOCOLATE:3530104575,CORAL:4286533887,CORNFLOWERBLUE:1687547391,CORNSILK:4294499583,CRIMSON:3692313855,CYAN:16777215,DARKBLUE:35839,DARKCYAN:9145343,DARKGOLDENROD:3095837695,DARKGRAY:2846468607,DARKGREEN:6553855,DARKGREY:2846468607,DARKKHAKI:3182914559,DARKMAGENTA:2332068863,DARKOLIVEGREEN:1433087999,DARKORANGE:4287365375,DARKORCHID:2570243327,DARKRED:2332033279,DARKSALMON:3918953215,DARKSEAGREEN:2411499519,DARKSLATEBLUE:1211993087,DARKSLATEGRAY:793726975,DARKSLATEGREY:793726975,DARKTURQUOISE:13554175,DARKVIOLET:2483082239,DEEPPINK:4279538687,DEEPSKYBLUE:12582911,DIMGRAY:1768516095,DIMGREY:1768516095,DODGERBLUE:512819199,FIREBRICK:2988581631,FLORALWHITE:4294635775,FORESTGREEN:579543807,FUCHSIA:4278255615,GAINSBORO:3705462015,GHOSTWHITE:4177068031,GOLD:4292280575,GOLDENROD:3668254975,GRAY:2155905279,GREEN:8388863,GREENYELLOW:2919182335,GREY:2155905279,HONEYDEW:4043305215,HOTPINK:4285117695,INDIANRED:3445382399,INDIGO:1258324735,IVORY:4294963455,KHAKI:4041641215,LAVENDER:3873897215,LAVENDERBLUSH:4293981695,LAWNGREEN:2096890111,LEMONCHIFFON:4294626815,LIGHTBLUE:2916673279,LIGHTCORAL:4034953471,LIGHTCYAN:3774873599,LIGHTGOLDENRODYELLOW:4210742015,LIGHTGRAY:3553874943,LIGHTGREEN:2431553791,LIGHTGREY:3553874943,LIGHTPINK:4290167295,LIGHTSALMON:4288707327,LIGHTSEAGREEN:548580095,LIGHTSKYBLUE:2278488831,LIGHTSLATEGRAY:2005441023,LIGHTSLATEGREY:2005441023,LIGHTSTEELBLUE:2965692159,LIGHTYELLOW:4294959359,LIME:16711935,LIMEGREEN:852308735,LINEN:4210091775,MAGENTA:4278255615,MAROON:2147483903,MEDIUMAQUAMARINE:1724754687,MEDIUMBLUE:52735,MEDIUMORCHID:3126187007,MEDIUMPURPLE:2473647103,MEDIUMSEAGREEN:1018393087,MEDIUMSLATEBLUE:2070474495,MEDIUMSPRINGGREEN:16423679,MEDIUMTURQUOISE:1221709055,MEDIUMVIOLETRED:3340076543,MIDNIGHTBLUE:421097727,MINTCREAM:4127193855,MISTYROSE:4293190143,MOCCASIN:4293178879,NAVAJOWHITE:4292783615,NAVY:33023,OLDLACE:4260751103,OLIVE:2155872511,OLIVEDRAB:1804477439,ORANGE:4289003775,ORANGERED:4282712319,ORCHID:3664828159,PALEGOLDENROD:4008225535,PALEGREEN:2566625535,PALETURQUOISE:2951671551,PALEVIOLETRED:3681588223,PAPAYAWHIP:4293907967,PEACHPUFF:4292524543,PERU:3448061951,PINK:4290825215,PLUM:3718307327,POWDERBLUE:2967529215,PURPLE:2147516671,REBECCAPURPLE:1714657791,RED:4278190335,ROSYBROWN:3163525119,ROYALBLUE:1097458175,SADDLEBROWN:2336560127,SALMON:4202722047,SANDYBROWN:4104413439,SEAGREEN:780883967,SEASHELL:4294307583,SIENNA:2689740287,SILVER:3233857791,SKYBLUE:2278484991,SLATEBLUE:1784335871,SLATEGRAY:1887473919,SLATEGREY:1887473919,SNOW:4294638335,SPRINGGREEN:16744447,STEELBLUE:1182971135,TAN:3535047935,TEAL:8421631,THISTLE:3636451583,TOMATO:4284696575,TRANSPARENT:0,TURQUOISE:1088475391,VIOLET:4001558271,WHEAT:4125012991,WHITE:4294967295,WHITESMOKE:4126537215,YELLOW:4294902015,YELLOWGREEN:2597139199};(Gc=Jc||(Jc={}))[Gc.VALUE=0]=\"VALUE\",Gc[Gc.LIST=1]=\"LIST\",Gc[Gc.IDENT_VALUE=2]=\"IDENT_VALUE\",Gc[Gc.TYPE_VALUE=3]=\"TYPE_VALUE\",Gc[Gc.TOKEN_VALUE=4]=\"TOKEN_VALUE\",(Wc=jc||(jc={}))[Wc.BORDER_BOX=0]=\"BORDER_BOX\",Wc[Wc.PADDING_BOX=1]=\"PADDING_BOX\",Wc[Wc.CONTENT_BOX=2]=\"CONTENT_BOX\";var Zc,Al,tl={name:\"background-clip\",initialValue:\"border-box\",prefix:!1,type:Jc.LIST,parse:function(A){return A.map((function(A){if(vc(A))switch(A.value){case\"padding-box\":return jc.PADDING_BOX;case\"content-box\":return jc.CONTENT_BOX}return jc.BORDER_BOX}))}},el={name:\"background-color\",initialValue:\"transparent\",prefix:!1,type:Jc.TYPE_VALUE,format:\"color\"},nl=function(A){var t=Mc(A[0]),e=A[1];return e&&Hc(e)?{color:t,stop:e}:{color:t,stop:null}},rl=function(A,t){var e=A[0],n=A[A.length-1];null===e.stop&&(e.stop=Nc),null===n.stop&&(n.stop=Ic);for(var r=[],o=0,i=0;i<A.length;i++){var s=A[i].stop;if(null!==s){var a=Tc(s,t);a>o?r.push(a):r.push(o),o=a}else r.push(null)}var u=null;for(i=0;i<r.length;i++){var c=r[i];if(null===c)null===u&&(u=i);else if(null!==u){for(var l=i-u,f=(c-r[u-1])/(l+1),h=1;h<=l;h++)r[u+h-1]=f*h;u=null}}return A.map((function(A,e){return{color:A.color,stop:Math.max(Math.min(1,r[e]/t),0)}}))},ol=function(A,t,e){var n=\"number\"==typeof A?A:function(A,t,e){var n=t/2,r=e/2,o=Tc(A[0],t)-n,i=r-Tc(A[1],e);return(Math.atan2(i,o)+2*Math.PI)%(2*Math.PI)}(A,t,e),r=Math.abs(t*Math.sin(n))+Math.abs(e*Math.cos(n)),o=t/2,i=e/2,s=r/2,a=Math.sin(n-Math.PI/2)*s,u=Math.cos(n-Math.PI/2)*s;return[r,o-u,o+u,i-a,i+a]},il=function(A,t){return Math.sqrt(A*A+t*t)},sl=function(A,t,e,n,r){return[[0,0],[0,t],[A,0],[A,t]].reduce((function(A,t){var o=t[0],i=t[1],s=il(e-o,n-i);return(r?s<A.optimumDistance:s>A.optimumDistance)?{optimumCorner:t,optimumDistance:s}:A}),{optimumDistance:r?1/0:-1/0,optimumCorner:null}).optimumCorner},al=function(A){var t=Lc(180),e=[];return Fc(A).forEach((function(A,n){if(0===n){var r=A[0];if(r.type===$a.IDENT_TOKEN&&-1!==[\"top\",\"left\",\"right\",\"bottom\"].indexOf(r.value))return void(t=Rc(A));if(Sc(r))return void(t=(xc(r)+Lc(270))%Lc(360))}var o=nl(A);e.push(o)})),{angle:t,stops:e,type:Zc.LINEAR_GRADIENT}},ul=function(A){return 0===A[0]&&255===A[1]&&0===A[2]&&255===A[3]},cl=function(A,t,e,n,r){var o=\"http://www.w3.org/2000/svg\",i=document.createElementNS(o,\"svg\"),s=document.createElementNS(o,\"foreignObject\");return i.setAttributeNS(null,\"width\",A.toString()),i.setAttributeNS(null,\"height\",t.toString()),s.setAttributeNS(null,\"width\",\"100%\"),s.setAttributeNS(null,\"height\",\"100%\"),s.setAttributeNS(null,\"x\",e.toString()),s.setAttributeNS(null,\"y\",n.toString()),s.setAttributeNS(null,\"externalResourcesRequired\",\"true\"),i.appendChild(s),s.appendChild(r),i},ll=function(A){return new Promise((function(t,e){var n=new Image;n.onload=function(){return t(n)},n.onerror=e,n.src=\"data:image/svg+xml;charset=utf-8,\"+encodeURIComponent((new XMLSerializer).serializeToString(A))}))},fl={get SUPPORT_RANGE_BOUNDS(){var A=function(A){if(A.createRange){var t=A.createRange();if(t.getBoundingClientRect){var e=A.createElement(\"boundtest\");e.style.height=\"123px\",e.style.display=\"block\",A.body.appendChild(e),t.selectNode(e);var n=t.getBoundingClientRect(),r=Math.round(n.height);if(A.body.removeChild(e),123===r)return!0}}return!1}(document);return Object.defineProperty(fl,\"SUPPORT_RANGE_BOUNDS\",{value:A}),A},get SUPPORT_SVG_DRAWING(){var A=function(A){var t=new Image,e=A.createElement(\"canvas\"),n=e.getContext(\"2d\");if(!n)return!1;t.src=\"data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg'></svg>\";try{n.drawImage(t,0,0),e.toDataURL()}catch(r){return!1}return!0}(document);return Object.defineProperty(fl,\"SUPPORT_SVG_DRAWING\",{value:A}),A},get SUPPORT_FOREIGNOBJECT_DRAWING(){var A=\"function\"==typeof Array.from&&\"function\"==typeof window.fetch?function(A){var t=A.createElement(\"canvas\"),e=100;t.width=e,t.height=e;var n=t.getContext(\"2d\");if(!n)return Promise.reject(!1);n.fillStyle=\"rgb(0, 255, 0)\",n.fillRect(0,0,e,e);var r=new Image,o=t.toDataURL();r.src=o;var i=cl(e,e,0,0,r);return n.fillStyle=\"red\",n.fillRect(0,0,e,e),ll(i).then((function(t){n.drawImage(t,0,0);var r=n.getImageData(0,0,e,e).data;n.fillStyle=\"red\",n.fillRect(0,0,e,e);var i=A.createElement(\"div\");return i.style.backgroundImage=\"url(\"+o+\")\",i.style.height=\"100px\",ul(r)?ll(cl(e,e,0,0,i)):Promise.reject(!1)})).then((function(A){return n.drawImage(A,0,0),ul(n.getImageData(0,0,e,e).data)})).catch((function(){return!1}))}(document):Promise.resolve(!1);return Object.defineProperty(fl,\"SUPPORT_FOREIGNOBJECT_DRAWING\",{value:A}),A},get SUPPORT_CORS_IMAGES(){var A=void 0!==(new Image).crossOrigin;return Object.defineProperty(fl,\"SUPPORT_CORS_IMAGES\",{value:A}),A},get SUPPORT_RESPONSE_TYPE(){var A=\"string\"==typeof(new XMLHttpRequest).responseType;return Object.defineProperty(fl,\"SUPPORT_RESPONSE_TYPE\",{value:A}),A},get SUPPORT_CORS_XHR(){var A=\"withCredentials\"in new XMLHttpRequest;return Object.defineProperty(fl,\"SUPPORT_CORS_XHR\",{value:A}),A}},hl=function(){function A(A){var t=A.id,e=A.enabled;this.id=t,this.enabled=e,this.start=Date.now()}return A.prototype.debug=function(){for(var A=[],t=0;t<arguments.length;t++)A[t]=arguments[t];this.enabled&&(\"undefined\"!=typeof window&&window.console&&\"function\"==typeof console.debug?console.debug.apply(console,[this.id,this.getTime()+\"ms\"].concat(A)):this.info.apply(this,A))},A.prototype.getTime=function(){return Date.now()-this.start},A.create=function(t){A.instances[t.id]=new A(t)},A.destroy=function(t){delete A.instances[t]},A.getInstance=function(t){var e=A.instances[t];if(void 0===e)throw new Error(\"No logger instance found with id \"+t);return e},A.prototype.info=function(){for(var A=[],t=0;t<arguments.length;t++)A[t]=arguments[t];this.enabled&&\"undefined\"!=typeof window&&window.console&&\"function\"==typeof console.info&&console.info.apply(console,[this.id,this.getTime()+\"ms\"].concat(A))},A.prototype.error=function(){for(var A=[],t=0;t<arguments.length;t++)A[t]=arguments[t];this.enabled&&(\"undefined\"!=typeof window&&window.console&&\"function\"==typeof console.error?console.error.apply(console,[this.id,this.getTime()+\"ms\"].concat(A)):this.info.apply(this,A))},A.instances={},A}(),Bl=function(){function A(){}return A.create=function(t,e){return A._caches[t]=new pl(t,e)},A.destroy=function(t){delete A._caches[t]},A.open=function(t){var e=A._caches[t];if(void 0!==e)return e;throw new Error('Cache with key \"'+t+'\" not found')},A.getOrigin=function(t){var e=A._link;return e?(e.href=t,e.href=e.href,e.protocol+e.hostname+e.port):\"about:blank\"},A.isSameOrigin=function(t){return A.getOrigin(t)===A._origin},A.setContext=function(t){A._link=t.document.createElement(\"a\"),A._origin=A.getOrigin(t.location.href)},A.getInstance=function(){var t=A._current;if(null===t)throw new Error(\"No cache instance attached\");return t},A.attachInstance=function(t){A._current=t},A.detachInstance=function(){A._current=null},A._caches={},A._origin=\"about:blank\",A._current=null,A}(),pl=function(){function A(A,t){this.id=A,this._options=t,this._cache={}}return A.prototype.addImage=function(A){var t=Promise.resolve();return this.has(A)?t:Cl(A)||Ql(A)?(this._cache[A]=this.loadImage(A),t):t},A.prototype.match=function(A){return this._cache[A]},A.prototype.loadImage=function(A){return xa(this,void 0,void 0,(function(){var t,e,n,r,o=this;return Sa(this,(function(i){switch(i.label){case 0:return t=Bl.isSameOrigin(A),e=!vl(A)&&!0===this._options.useCORS&&fl.SUPPORT_CORS_IMAGES&&!t,n=!vl(A)&&!t&&\"string\"==typeof this._options.proxy&&fl.SUPPORT_CORS_XHR&&!e,t||!1!==this._options.allowTaint||vl(A)||n||e?(r=A,n?[4,this.proxy(r)]:[3,2]):[2];case 1:r=i.sent(),i.label=2;case 2:return hl.getInstance(this.id).debug(\"Added image \"+A.substring(0,256)),[4,new Promise((function(A,t){var n=new Image;n.onload=function(){return A(n)},n.onerror=t,(Ul(r)||e)&&(n.crossOrigin=\"anonymous\"),n.src=r,!0===n.complete&&setTimeout((function(){return A(n)}),500),o._options.imageTimeout>0&&setTimeout((function(){return t(\"Timed out (\"+o._options.imageTimeout+\"ms) loading image\")}),o._options.imageTimeout)}))];case 3:return[2,i.sent()]}}))}))},A.prototype.has=function(A){return void 0!==this._cache[A]},A.prototype.keys=function(){return Promise.resolve(Object.keys(this._cache))},A.prototype.proxy=function(A){var t=this,e=this._options.proxy;if(!e)throw new Error(\"No proxy defined\");var n=A.substring(0,256);return new Promise((function(r,o){var i=fl.SUPPORT_RESPONSE_TYPE?\"blob\":\"text\",s=new XMLHttpRequest;if(s.onload=function(){if(200===s.status)if(\"text\"===i)r(s.response);else{var A=new FileReader;A.addEventListener(\"load\",(function(){return r(A.result)}),!1),A.addEventListener(\"error\",(function(A){return o(A)}),!1),A.readAsDataURL(s.response)}else o(\"Failed to proxy resource \"+n+\" with status code \"+s.status)},s.onerror=o,s.open(\"GET\",e+\"?url=\"+encodeURIComponent(A)+\"&responseType=\"+i),\"text\"!==i&&s instanceof XMLHttpRequest&&(s.responseType=i),t._options.imageTimeout){var a=t._options.imageTimeout;s.timeout=a,s.ontimeout=function(){return o(\"Timed out (\"+a+\"ms) proxying \"+n)}}s.send()}))},A}(),gl=/^data:image\\/svg\\+xml/i,dl=/^data:image\\/.*;base64,/i,wl=/^data:image\\/.*/i,Ql=function(A){return fl.SUPPORT_SVG_DRAWING||!El(A)},vl=function(A){return wl.test(A)},Ul=function(A){return dl.test(A)},Cl=function(A){return\"blob\"===A.substr(0,4)},El=function(A){return\"svg\"===A.substr(-3).toLowerCase()||gl.test(A)},yl=function(A){var t=Fl.CIRCLE,e=_l.FARTHEST_CORNER,n=[],r=[];return Fc(A).forEach((function(A,o){var i=!0;if(0===o?i=A.reduce((function(A,t){if(vc(t))switch(t.value){case\"center\":return r.push(Kc),!1;case\"top\":case\"left\":return r.push(Nc),!1;case\"right\":case\"bottom\":return r.push(Ic),!1}else if(Hc(t)||_c(t))return r.push(t),!1;return A}),i):1===o&&(i=A.reduce((function(A,n){if(vc(n))switch(n.value){case\"circle\":return t=Fl.CIRCLE,!1;case\"ellipse\":return t=Fl.ELLIPSE,!1;case\"contain\":case\"closest-side\":return e=_l.CLOSEST_SIDE,!1;case\"farthest-side\":return e=_l.FARTHEST_SIDE,!1;case\"closest-corner\":return e=_l.CLOSEST_CORNER,!1;case\"cover\":case\"farthest-corner\":return e=_l.FARTHEST_CORNER,!1}else if(_c(n)||Hc(n))return Array.isArray(e)||(e=[]),e.push(n),!1;return A}),i)),i){var s=nl(A);n.push(s)}})),{size:e,shape:t,stops:n,position:r,type:Zc.RADIAL_GRADIENT}};(Al=Zc||(Zc={}))[Al.URL=0]=\"URL\",Al[Al.LINEAR_GRADIENT=1]=\"LINEAR_GRADIENT\",Al[Al.RADIAL_GRADIENT=2]=\"RADIAL_GRADIENT\";var Fl,ml,_l,Hl;(ml=Fl||(Fl={}))[ml.CIRCLE=0]=\"CIRCLE\",ml[ml.ELLIPSE=1]=\"ELLIPSE\",(Hl=_l||(_l={}))[Hl.CLOSEST_SIDE=0]=\"CLOSEST_SIDE\",Hl[Hl.FARTHEST_SIDE=1]=\"FARTHEST_SIDE\",Hl[Hl.CLOSEST_CORNER=2]=\"CLOSEST_CORNER\",Hl[Hl.FARTHEST_CORNER=3]=\"FARTHEST_CORNER\";var bl=function(A){if(A.type===$a.URL_TOKEN){var t={url:A.value,type:Zc.URL};return Bl.getInstance().addImage(A.value),t}if(A.type===$a.FUNCTION){var e=Il[A.name];if(void 0===e)throw new Error('Attempting to parse an unsupported image function \"'+A.name+'\"');return e(A.values)}throw new Error(\"Unsupported image type\")};var Nl,Kl,Il={\"linear-gradient\":function(A){var t=Lc(180),e=[];return Fc(A).forEach((function(A,n){if(0===n){var r=A[0];if(r.type===$a.IDENT_TOKEN&&\"to\"===r.value)return void(t=Rc(A));if(Sc(r))return void(t=xc(r))}var o=nl(A);e.push(o)})),{angle:t,stops:e,type:Zc.LINEAR_GRADIENT}},\"-moz-linear-gradient\":al,\"-ms-linear-gradient\":al,\"-o-linear-gradient\":al,\"-webkit-linear-gradient\":al,\"radial-gradient\":function(A){var t=Fl.CIRCLE,e=_l.FARTHEST_CORNER,n=[],r=[];return Fc(A).forEach((function(A,o){var i=!0;if(0===o){var s=!1;i=A.reduce((function(A,n){if(s)if(vc(n))switch(n.value){case\"center\":return r.push(Kc),A;case\"top\":case\"left\":return r.push(Nc),A;case\"right\":case\"bottom\":return r.push(Ic),A}else(Hc(n)||_c(n))&&r.push(n);else if(vc(n))switch(n.value){case\"circle\":return t=Fl.CIRCLE,!1;case\"ellipse\":return t=Fl.ELLIPSE,!1;case\"at\":return s=!0,!1;case\"closest-side\":return e=_l.CLOSEST_SIDE,!1;case\"cover\":case\"farthest-side\":return e=_l.FARTHEST_SIDE,!1;case\"contain\":case\"closest-corner\":return e=_l.CLOSEST_CORNER,!1;case\"farthest-corner\":return e=_l.FARTHEST_CORNER,!1}else if(_c(n)||Hc(n))return Array.isArray(e)||(e=[]),e.push(n),!1;return A}),i)}if(i){var a=nl(A);n.push(a)}})),{size:e,shape:t,stops:n,position:r,type:Zc.RADIAL_GRADIENT}},\"-moz-radial-gradient\":yl,\"-ms-radial-gradient\":yl,\"-o-radial-gradient\":yl,\"-webkit-radial-gradient\":yl,\"-webkit-gradient\":function(A){var t=Lc(180),e=[],n=Zc.LINEAR_GRADIENT,r=Fl.CIRCLE,o=_l.FARTHEST_CORNER;return Fc(A).forEach((function(A,t){var r=A[0];if(0===t){if(vc(r)&&\"linear\"===r.value)return void(n=Zc.LINEAR_GRADIENT);if(vc(r)&&\"radial\"===r.value)return void(n=Zc.RADIAL_GRADIENT)}if(r.type===$a.FUNCTION)if(\"from\"===r.name){var o=Mc(r.values[0]);e.push({stop:Nc,color:o})}else if(\"to\"===r.name){o=Mc(r.values[0]);e.push({stop:Ic,color:o})}else if(\"color-stop\"===r.name){var i=r.values.filter(yc);if(2===i.length){o=Mc(i[1]);var s=i[0];Qc(s)&&e.push({stop:{type:$a.PERCENTAGE_TOKEN,number:100*s.number,flags:s.flags},color:o})}}})),n===Zc.LINEAR_GRADIENT?{angle:(t+Lc(180))%Lc(360),stops:e,type:n}:{size:o,shape:r,stops:e,position:[],type:n}}},Ol={name:\"background-image\",initialValue:\"none\",type:Jc.LIST,prefix:!1,parse:function(A){if(0===A.length)return[];var t=A[0];return t.type===$a.IDENT_TOKEN&&\"none\"===t.value?[]:A.filter((function(A){return yc(A)&&function(A){return A.type!==$a.FUNCTION||Il[A.name]}(A)})).map(bl)}},Tl={name:\"background-origin\",initialValue:\"border-box\",prefix:!1,type:Jc.LIST,parse:function(A){return A.map((function(A){if(vc(A))switch(A.value){case\"padding-box\":return 1;case\"content-box\":return 2}return 0}))}},xl={name:\"background-position\",initialValue:\"0% 0%\",type:Jc.LIST,prefix:!1,parse:function(A){return Fc(A).map((function(A){return A.filter(Hc)})).map(bc)}};(Kl=Nl||(Nl={}))[Kl.REPEAT=0]=\"REPEAT\",Kl[Kl.NO_REPEAT=1]=\"NO_REPEAT\",Kl[Kl.REPEAT_X=2]=\"REPEAT_X\",Kl[Kl.REPEAT_Y=3]=\"REPEAT_Y\";var Sl,Rl,Ll={name:\"background-repeat\",initialValue:\"repeat\",prefix:!1,type:Jc.LIST,parse:function(A){return Fc(A).map((function(A){return A.filter(vc).map((function(A){return A.value})).join(\" \")})).map(Ml)}},Ml=function(A){switch(A){case\"no-repeat\":return Nl.NO_REPEAT;case\"repeat-x\":case\"repeat no-repeat\":return Nl.REPEAT_X;case\"repeat-y\":case\"no-repeat repeat\":return Nl.REPEAT_Y;case\"repeat\":default:return Nl.REPEAT}};(Rl=Sl||(Sl={})).AUTO=\"auto\",Rl.CONTAIN=\"contain\",Rl.COVER=\"cover\";var Dl,kl,Pl={name:\"background-size\",initialValue:\"0\",prefix:!1,type:Jc.LIST,parse:function(A){return Fc(A).map((function(A){return A.filter(zl)}))}},zl=function(A){return vc(A)||Hc(A)},Vl=function(A){return{name:\"border-\"+A+\"-color\",initialValue:\"transparent\",prefix:!1,type:Jc.TYPE_VALUE,format:\"color\"}},Xl=Vl(\"top\"),Jl=Vl(\"right\"),Gl=Vl(\"bottom\"),jl=Vl(\"left\"),Wl=function(A){return{name:\"border-radius-\"+A,initialValue:\"0 0\",prefix:!1,type:Jc.LIST,parse:function(A){return bc(A.filter(Hc))}}},Yl=Wl(\"top-left\"),ql=Wl(\"top-right\"),$l=Wl(\"bottom-right\"),Zl=Wl(\"bottom-left\");(kl=Dl||(Dl={}))[kl.NONE=0]=\"NONE\",kl[kl.SOLID=1]=\"SOLID\";var Af,tf,ef=function(A){return{name:\"border-\"+A+\"-style\",initialValue:\"solid\",prefix:!1,type:Jc.IDENT_VALUE,parse:function(A){switch(A){case\"none\":return Dl.NONE}return Dl.SOLID}}},nf=ef(\"top\"),rf=ef(\"right\"),of=ef(\"bottom\"),sf=ef(\"left\"),af=function(A){return{name:\"border-\"+A+\"-width\",initialValue:\"0\",type:Jc.VALUE,prefix:!1,parse:function(A){return wc(A)?A.number:0}}},uf=af(\"top\"),cf=af(\"right\"),lf=af(\"bottom\"),ff=af(\"left\"),hf={name:\"color\",initialValue:\"transparent\",prefix:!1,type:Jc.TYPE_VALUE,format:\"color\"},Bf={name:\"display\",initialValue:\"inline-block\",prefix:!1,type:Jc.LIST,parse:function(A){return A.filter(vc).reduce((function(A,t){return A|pf(t.value)}),0)}},pf=function(A){switch(A){case\"block\":return 2;case\"inline\":return 4;case\"run-in\":return 8;case\"flow\":return 16;case\"flow-root\":return 32;case\"table\":return 64;case\"flex\":case\"-webkit-flex\":return 128;case\"grid\":case\"-ms-grid\":return 256;case\"ruby\":return 512;case\"subgrid\":return 1024;case\"list-item\":return 2048;case\"table-row-group\":return 4096;case\"table-header-group\":return 8192;case\"table-footer-group\":return 16384;case\"table-row\":return 32768;case\"table-cell\":return 65536;case\"table-column-group\":return 131072;case\"table-column\":return 262144;case\"table-caption\":return 524288;case\"ruby-base\":return 1048576;case\"ruby-text\":return 2097152;case\"ruby-base-container\":return 4194304;case\"ruby-text-container\":return 8388608;case\"contents\":return 16777216;case\"inline-block\":return 33554432;case\"inline-list-item\":return 67108864;case\"inline-table\":return 134217728;case\"inline-flex\":return 268435456;case\"inline-grid\":return 536870912}return 0};(tf=Af||(Af={}))[tf.NONE=0]=\"NONE\",tf[tf.LEFT=1]=\"LEFT\",tf[tf.RIGHT=2]=\"RIGHT\",tf[tf.INLINE_START=3]=\"INLINE_START\",tf[tf.INLINE_END=4]=\"INLINE_END\";var gf,df,wf={name:\"float\",initialValue:\"none\",prefix:!1,type:Jc.IDENT_VALUE,parse:function(A){switch(A){case\"left\":return Af.LEFT;case\"right\":return Af.RIGHT;case\"inline-start\":return Af.INLINE_START;case\"inline-end\":return Af.INLINE_END}return Af.NONE}},Qf={name:\"letter-spacing\",initialValue:\"0\",prefix:!1,type:Jc.VALUE,parse:function(A){return A.type===$a.IDENT_TOKEN&&\"normal\"===A.value?0:A.type===$a.NUMBER_TOKEN||A.type===$a.DIMENSION_TOKEN?A.number:0}};(df=gf||(gf={})).NORMAL=\"normal\",df.STRICT=\"strict\";var vf,Uf,Cf={name:\"line-break\",initialValue:\"normal\",prefix:!1,type:Jc.IDENT_VALUE,parse:function(A){switch(A){case\"strict\":return gf.STRICT;case\"normal\":default:return gf.NORMAL}}},Ef={name:\"line-height\",initialValue:\"normal\",prefix:!1,type:Jc.TOKEN_VALUE},yf={name:\"list-style-image\",initialValue:\"none\",type:Jc.VALUE,prefix:!1,parse:function(A){return A.type===$a.IDENT_TOKEN&&\"none\"===A.value?null:bl(A)}};(Uf=vf||(vf={}))[Uf.INSIDE=0]=\"INSIDE\",Uf[Uf.OUTSIDE=1]=\"OUTSIDE\";var Ff,mf,_f={name:\"list-style-position\",initialValue:\"outside\",prefix:!1,type:Jc.IDENT_VALUE,parse:function(A){switch(A){case\"inside\":return vf.INSIDE;case\"outside\":default:return vf.OUTSIDE}}};(mf=Ff||(Ff={}))[mf.NONE=-1]=\"NONE\",mf[mf.DISC=0]=\"DISC\",mf[mf.CIRCLE=1]=\"CIRCLE\",mf[mf.SQUARE=2]=\"SQUARE\",mf[mf.DECIMAL=3]=\"DECIMAL\",mf[mf.CJK_DECIMAL=4]=\"CJK_DECIMAL\",mf[mf.DECIMAL_LEADING_ZERO=5]=\"DECIMAL_LEADING_ZERO\",mf[mf.LOWER_ROMAN=6]=\"LOWER_ROMAN\",mf[mf.UPPER_ROMAN=7]=\"UPPER_ROMAN\",mf[mf.LOWER_GREEK=8]=\"LOWER_GREEK\",mf[mf.LOWER_ALPHA=9]=\"LOWER_ALPHA\",mf[mf.UPPER_ALPHA=10]=\"UPPER_ALPHA\",mf[mf.ARABIC_INDIC=11]=\"ARABIC_INDIC\",mf[mf.ARMENIAN=12]=\"ARMENIAN\",mf[mf.BENGALI=13]=\"BENGALI\",mf[mf.CAMBODIAN=14]=\"CAMBODIAN\",mf[mf.CJK_EARTHLY_BRANCH=15]=\"CJK_EARTHLY_BRANCH\",mf[mf.CJK_HEAVENLY_STEM=16]=\"CJK_HEAVENLY_STEM\",mf[mf.CJK_IDEOGRAPHIC=17]=\"CJK_IDEOGRAPHIC\",mf[mf.DEVANAGARI=18]=\"DEVANAGARI\",mf[mf.ETHIOPIC_NUMERIC=19]=\"ETHIOPIC_NUMERIC\",mf[mf.GEORGIAN=20]=\"GEORGIAN\",mf[mf.GUJARATI=21]=\"GUJARATI\",mf[mf.GURMUKHI=22]=\"GURMUKHI\",mf[mf.HEBREW=22]=\"HEBREW\",mf[mf.HIRAGANA=23]=\"HIRAGANA\",mf[mf.HIRAGANA_IROHA=24]=\"HIRAGANA_IROHA\",mf[mf.JAPANESE_FORMAL=25]=\"JAPANESE_FORMAL\",mf[mf.JAPANESE_INFORMAL=26]=\"JAPANESE_INFORMAL\",mf[mf.KANNADA=27]=\"KANNADA\",mf[mf.KATAKANA=28]=\"KATAKANA\",mf[mf.KATAKANA_IROHA=29]=\"KATAKANA_IROHA\",mf[mf.KHMER=30]=\"KHMER\",mf[mf.KOREAN_HANGUL_FORMAL=31]=\"KOREAN_HANGUL_FORMAL\",mf[mf.KOREAN_HANJA_FORMAL=32]=\"KOREAN_HANJA_FORMAL\",mf[mf.KOREAN_HANJA_INFORMAL=33]=\"KOREAN_HANJA_INFORMAL\",mf[mf.LAO=34]=\"LAO\",mf[mf.LOWER_ARMENIAN=35]=\"LOWER_ARMENIAN\",mf[mf.MALAYALAM=36]=\"MALAYALAM\",mf[mf.MONGOLIAN=37]=\"MONGOLIAN\",mf[mf.MYANMAR=38]=\"MYANMAR\",mf[mf.ORIYA=39]=\"ORIYA\",mf[mf.PERSIAN=40]=\"PERSIAN\",mf[mf.SIMP_CHINESE_FORMAL=41]=\"SIMP_CHINESE_FORMAL\",mf[mf.SIMP_CHINESE_INFORMAL=42]=\"SIMP_CHINESE_INFORMAL\",mf[mf.TAMIL=43]=\"TAMIL\",mf[mf.TELUGU=44]=\"TELUGU\",mf[mf.THAI=45]=\"THAI\",mf[mf.TIBETAN=46]=\"TIBETAN\",mf[mf.TRAD_CHINESE_FORMAL=47]=\"TRAD_CHINESE_FORMAL\",mf[mf.TRAD_CHINESE_INFORMAL=48]=\"TRAD_CHINESE_INFORMAL\",mf[mf.UPPER_ARMENIAN=49]=\"UPPER_ARMENIAN\",mf[mf.DISCLOSURE_OPEN=50]=\"DISCLOSURE_OPEN\",mf[mf.DISCLOSURE_CLOSED=51]=\"DISCLOSURE_CLOSED\";var Hf,bf,Nf={name:\"list-style-type\",initialValue:\"none\",prefix:!1,type:Jc.IDENT_VALUE,parse:function(A){switch(A){case\"disc\":return Ff.DISC;case\"circle\":return Ff.CIRCLE;case\"square\":return Ff.SQUARE;case\"decimal\":return Ff.DECIMAL;case\"cjk-decimal\":return Ff.CJK_DECIMAL;case\"decimal-leading-zero\":return Ff.DECIMAL_LEADING_ZERO;case\"lower-roman\":return Ff.LOWER_ROMAN;case\"upper-roman\":return Ff.UPPER_ROMAN;case\"lower-greek\":return Ff.LOWER_GREEK;case\"lower-alpha\":return Ff.LOWER_ALPHA;case\"upper-alpha\":return Ff.UPPER_ALPHA;case\"arabic-indic\":return Ff.ARABIC_INDIC;case\"armenian\":return Ff.ARMENIAN;case\"bengali\":return Ff.BENGALI;case\"cambodian\":return Ff.CAMBODIAN;case\"cjk-earthly-branch\":return Ff.CJK_EARTHLY_BRANCH;case\"cjk-heavenly-stem\":return Ff.CJK_HEAVENLY_STEM;case\"cjk-ideographic\":return Ff.CJK_IDEOGRAPHIC;case\"devanagari\":return Ff.DEVANAGARI;case\"ethiopic-numeric\":return Ff.ETHIOPIC_NUMERIC;case\"georgian\":return Ff.GEORGIAN;case\"gujarati\":return Ff.GUJARATI;case\"gurmukhi\":return Ff.GURMUKHI;case\"hebrew\":return Ff.HEBREW;case\"hiragana\":return Ff.HIRAGANA;case\"hiragana-iroha\":return Ff.HIRAGANA_IROHA;case\"japanese-formal\":return Ff.JAPANESE_FORMAL;case\"japanese-informal\":return Ff.JAPANESE_INFORMAL;case\"kannada\":return Ff.KANNADA;case\"katakana\":return Ff.KATAKANA;case\"katakana-iroha\":return Ff.KATAKANA_IROHA;case\"khmer\":return Ff.KHMER;case\"korean-hangul-formal\":return Ff.KOREAN_HANGUL_FORMAL;case\"korean-hanja-formal\":return Ff.KOREAN_HANJA_FORMAL;case\"korean-hanja-informal\":return Ff.KOREAN_HANJA_INFORMAL;case\"lao\":return Ff.LAO;case\"lower-armenian\":return Ff.LOWER_ARMENIAN;case\"malayalam\":return Ff.MALAYALAM;case\"mongolian\":return Ff.MONGOLIAN;case\"myanmar\":return Ff.MYANMAR;case\"oriya\":return Ff.ORIYA;case\"persian\":return Ff.PERSIAN;case\"simp-chinese-formal\":return Ff.SIMP_CHINESE_FORMAL;case\"simp-chinese-informal\":return Ff.SIMP_CHINESE_INFORMAL;case\"tamil\":return Ff.TAMIL;case\"telugu\":return Ff.TELUGU;case\"thai\":return Ff.THAI;case\"tibetan\":return Ff.TIBETAN;case\"trad-chinese-formal\":return Ff.TRAD_CHINESE_FORMAL;case\"trad-chinese-informal\":return Ff.TRAD_CHINESE_INFORMAL;case\"upper-armenian\":return Ff.UPPER_ARMENIAN;case\"disclosure-open\":return Ff.DISCLOSURE_OPEN;case\"disclosure-closed\":return Ff.DISCLOSURE_CLOSED;case\"none\":default:return Ff.NONE}}},Kf=function(A){return{name:\"margin-\"+A,initialValue:\"0\",prefix:!1,type:Jc.TOKEN_VALUE}},If=Kf(\"top\"),Of=Kf(\"right\"),Tf=Kf(\"bottom\"),xf=Kf(\"left\");(bf=Hf||(Hf={}))[bf.VISIBLE=0]=\"VISIBLE\",bf[bf.HIDDEN=1]=\"HIDDEN\",bf[bf.SCROLL=2]=\"SCROLL\",bf[bf.AUTO=3]=\"AUTO\";var Sf,Rf,Lf={name:\"overflow\",initialValue:\"visible\",prefix:!1,type:Jc.LIST,parse:function(A){return A.filter(vc).map((function(A){switch(A.value){case\"hidden\":return Hf.HIDDEN;case\"scroll\":return Hf.SCROLL;case\"auto\":return Hf.AUTO;case\"visible\":default:return Hf.VISIBLE}}))}};(Rf=Sf||(Sf={})).NORMAL=\"normal\",Rf.BREAK_WORD=\"break-word\";var Mf,Df,kf={name:\"overflow-wrap\",initialValue:\"normal\",prefix:!1,type:Jc.IDENT_VALUE,parse:function(A){switch(A){case\"break-word\":return Sf.BREAK_WORD;case\"normal\":default:return Sf.NORMAL}}},Pf=function(A){return{name:\"padding-\"+A,initialValue:\"0\",prefix:!1,type:Jc.TYPE_VALUE,format:\"length-percentage\"}},zf=Pf(\"top\"),Vf=Pf(\"right\"),Xf=Pf(\"bottom\"),Jf=Pf(\"left\");(Df=Mf||(Mf={}))[Df.LEFT=0]=\"LEFT\",Df[Df.CENTER=1]=\"CENTER\",Df[Df.RIGHT=2]=\"RIGHT\";var Gf,jf,Wf={name:\"text-align\",initialValue:\"left\",prefix:!1,type:Jc.IDENT_VALUE,parse:function(A){switch(A){case\"right\":return Mf.RIGHT;case\"center\":case\"justify\":return Mf.CENTER;case\"left\":default:return Mf.LEFT}}};(jf=Gf||(Gf={}))[jf.STATIC=0]=\"STATIC\",jf[jf.RELATIVE=1]=\"RELATIVE\",jf[jf.ABSOLUTE=2]=\"ABSOLUTE\",jf[jf.FIXED=3]=\"FIXED\",jf[jf.STICKY=4]=\"STICKY\";var Yf,qf,$f={name:\"position\",initialValue:\"static\",prefix:!1,type:Jc.IDENT_VALUE,parse:function(A){switch(A){case\"relative\":return Gf.RELATIVE;case\"absolute\":return Gf.ABSOLUTE;case\"fixed\":return Gf.FIXED;case\"sticky\":return Gf.STICKY}return Gf.STATIC}},Zf={name:\"text-shadow\",initialValue:\"none\",type:Jc.LIST,prefix:!1,parse:function(A){return 1===A.length&&Cc(A[0],\"none\")?[]:Fc(A).map((function(A){for(var t={color:$c.TRANSPARENT,offsetX:Nc,offsetY:Nc,blur:Nc},e=0,n=0;n<A.length;n++){var r=A[n];_c(r)?(0===e?t.offsetX=r:1===e?t.offsetY=r:t.blur=r,e++):t.color=Mc(r)}return t}))}};(qf=Yf||(Yf={}))[qf.NONE=0]=\"NONE\",qf[qf.LOWERCASE=1]=\"LOWERCASE\",qf[qf.UPPERCASE=2]=\"UPPERCASE\",qf[qf.CAPITALIZE=3]=\"CAPITALIZE\";var Ah,th,eh={name:\"text-transform\",initialValue:\"none\",prefix:!1,type:Jc.IDENT_VALUE,parse:function(A){switch(A){case\"uppercase\":return Yf.UPPERCASE;case\"lowercase\":return Yf.LOWERCASE;case\"capitalize\":return Yf.CAPITALIZE}return Yf.NONE}},nh={name:\"transform\",initialValue:\"none\",prefix:!0,type:Jc.VALUE,parse:function(A){if(A.type===$a.IDENT_TOKEN&&\"none\"===A.value)return null;if(A.type===$a.FUNCTION){var t=rh[A.name];if(void 0===t)throw new Error('Attempting to parse an unsupported transform function \"'+A.name+'\"');return t(A.values)}return null}},rh={matrix:function(A){var t=A.filter((function(A){return A.type===$a.NUMBER_TOKEN})).map((function(A){return A.number}));return 6===t.length?t:null},matrix3d:function(A){var t=A.filter((function(A){return A.type===$a.NUMBER_TOKEN})).map((function(A){return A.number})),e=t[0],n=t[1];t[2],t[3];var r=t[4],o=t[5];t[6],t[7],t[8],t[9],t[10],t[11];var i=t[12],s=t[13];return t[14],t[15],16===t.length?[e,n,r,o,i,s]:null}},oh={type:$a.PERCENTAGE_TOKEN,number:50,flags:4},ih=[oh,oh],sh={name:\"transform-origin\",initialValue:\"50% 50%\",prefix:!0,type:Jc.LIST,parse:function(A){var t=A.filter(Hc);return 2!==t.length?ih:[t[0],t[1]]}};(th=Ah||(Ah={}))[th.VISIBLE=0]=\"VISIBLE\",th[th.HIDDEN=1]=\"HIDDEN\",th[th.COLLAPSE=2]=\"COLLAPSE\";var ah,uh,ch={name:\"visible\",initialValue:\"none\",prefix:!1,type:Jc.IDENT_VALUE,parse:function(A){switch(A){case\"hidden\":return Ah.HIDDEN;case\"collapse\":return Ah.COLLAPSE;case\"visible\":default:return Ah.VISIBLE}}};(uh=ah||(ah={})).NORMAL=\"normal\",uh.BREAK_ALL=\"break-all\",uh.KEEP_ALL=\"keep-all\";var lh,fh,hh={name:\"word-break\",initialValue:\"normal\",prefix:!1,type:Jc.IDENT_VALUE,parse:function(A){switch(A){case\"break-all\":return ah.BREAK_ALL;case\"keep-all\":return ah.KEEP_ALL;case\"normal\":default:return ah.NORMAL}}},Bh={name:\"z-index\",initialValue:\"auto\",prefix:!1,type:Jc.VALUE,parse:function(A){if(A.type===$a.IDENT_TOKEN)return{auto:!0,order:0};if(Qc(A))return{auto:!1,order:A.number};throw new Error(\"Invalid z-index number parsed\")}},ph={name:\"opacity\",initialValue:\"1\",type:Jc.VALUE,prefix:!1,parse:function(A){return Qc(A)?A.number:1}},gh={name:\"text-decoration-color\",initialValue:\"transparent\",prefix:!1,type:Jc.TYPE_VALUE,format:\"color\"},dh={name:\"text-decoration-line\",initialValue:\"none\",prefix:!1,type:Jc.LIST,parse:function(A){return A.filter(vc).map((function(A){switch(A.value){case\"underline\":return 1;case\"overline\":return 2;case\"line-through\":return 3;case\"none\":return 4}return 0})).filter((function(A){return 0!==A}))}},wh={name:\"font-family\",initialValue:\"\",prefix:!1,type:Jc.LIST,parse:function(A){var t=[],e=[];return A.forEach((function(A){switch(A.type){case $a.IDENT_TOKEN:case $a.STRING_TOKEN:t.push(A.value);break;case $a.NUMBER_TOKEN:t.push(A.number.toString());break;case $a.COMMA_TOKEN:e.push(t.join(\" \")),t.length=0}})),t.length&&e.push(t.join(\" \")),e.map((function(A){return-1===A.indexOf(\" \")?A:\"'\"+A+\"'\"}))}},Qh={name:\"font-size\",initialValue:\"0\",prefix:!1,type:Jc.TYPE_VALUE,format:\"length\"},vh={name:\"font-weight\",initialValue:\"normal\",type:Jc.VALUE,prefix:!1,parse:function(A){if(Qc(A))return A.number;if(vc(A))switch(A.value){case\"bold\":return 700;case\"normal\":default:return 400}return 400}},Uh={name:\"font-variant\",initialValue:\"none\",type:Jc.LIST,prefix:!1,parse:function(A){return A.filter(vc).map((function(A){return A.value}))}};(fh=lh||(lh={})).NORMAL=\"normal\",fh.ITALIC=\"italic\",fh.OBLIQUE=\"oblique\";var Ch,Eh,yh={name:\"font-style\",initialValue:\"normal\",prefix:!1,type:Jc.IDENT_VALUE,parse:function(A){switch(A){case\"oblique\":return lh.OBLIQUE;case\"italic\":return lh.ITALIC;case\"normal\":default:return lh.NORMAL}}},Fh=function(A,t){return 0!=(A&t)},mh={name:\"content\",initialValue:\"none\",type:Jc.LIST,prefix:!1,parse:function(A){if(0===A.length)return[];var t=A[0];return t.type===$a.IDENT_TOKEN&&\"none\"===t.value?[]:A}},_h={name:\"counter-increment\",initialValue:\"none\",prefix:!0,type:Jc.LIST,parse:function(A){if(0===A.length)return null;var t=A[0];if(t.type===$a.IDENT_TOKEN&&\"none\"===t.value)return null;for(var e=[],n=A.filter(Ec),r=0;r<n.length;r++){var o=n[r],i=n[r+1];if(o.type===$a.IDENT_TOKEN){var s=i&&Qc(i)?i.number:1;e.push({counter:o.value,increment:s})}}return e}},Hh={name:\"counter-reset\",initialValue:\"none\",prefix:!0,type:Jc.LIST,parse:function(A){if(0===A.length)return[];for(var t=[],e=A.filter(Ec),n=0;n<e.length;n++){var r=e[n],o=e[n+1];if(vc(r)&&\"none\"!==r.value){var i=o&&Qc(o)?o.number:0;t.push({counter:r.value,reset:i})}}return t}},bh={name:\"quotes\",initialValue:\"none\",prefix:!0,type:Jc.LIST,parse:function(A){if(0===A.length)return null;var t=A[0];if(t.type===$a.IDENT_TOKEN&&\"none\"===t.value)return null;var e=[],n=A.filter(Uc);if(n.length%2!=0)return null;for(var r=0;r<n.length;r+=2){var o=n[r].value,i=n[r+1].value;e.push({open:o,close:i})}return e}},Nh=function(A,t,e){if(!A)return\"\";var n=A[Math.min(t,A.length-1)];return n?e?n.open:n.close:\"\"},Kh={name:\"box-shadow\",initialValue:\"none\",type:Jc.LIST,prefix:!1,parse:function(A){return 1===A.length&&Cc(A[0],\"none\")?[]:Fc(A).map((function(A){for(var t={color:255,offsetX:Nc,offsetY:Nc,blur:Nc,spread:Nc,inset:!1},e=0,n=0;n<A.length;n++){var r=A[n];Cc(r,\"inset\")?t.inset=!0:_c(r)?(0===e?t.offsetX=r:1===e?t.offsetY=r:2===e?t.blur=r:t.spread=r,e++):t.color=Mc(r)}return t}))}},Ih=function(){function A(A){this.backgroundClip=xh(tl,A.backgroundClip),this.backgroundColor=xh(el,A.backgroundColor),this.backgroundImage=xh(Ol,A.backgroundImage),this.backgroundOrigin=xh(Tl,A.backgroundOrigin),this.backgroundPosition=xh(xl,A.backgroundPosition),this.backgroundRepeat=xh(Ll,A.backgroundRepeat),this.backgroundSize=xh(Pl,A.backgroundSize),this.borderTopColor=xh(Xl,A.borderTopColor),this.borderRightColor=xh(Jl,A.borderRightColor),this.borderBottomColor=xh(Gl,A.borderBottomColor),this.borderLeftColor=xh(jl,A.borderLeftColor),this.borderTopLeftRadius=xh(Yl,A.borderTopLeftRadius),this.borderTopRightRadius=xh(ql,A.borderTopRightRadius),this.borderBottomRightRadius=xh($l,A.borderBottomRightRadius),this.borderBottomLeftRadius=xh(Zl,A.borderBottomLeftRadius),this.borderTopStyle=xh(nf,A.borderTopStyle),this.borderRightStyle=xh(rf,A.borderRightStyle),this.borderBottomStyle=xh(of,A.borderBottomStyle),this.borderLeftStyle=xh(sf,A.borderLeftStyle),this.borderTopWidth=xh(uf,A.borderTopWidth),this.borderRightWidth=xh(cf,A.borderRightWidth),this.borderBottomWidth=xh(lf,A.borderBottomWidth),this.borderLeftWidth=xh(ff,A.borderLeftWidth),this.boxShadow=xh(Kh,A.boxShadow),this.color=xh(hf,A.color),this.display=xh(Bf,A.display),this.float=xh(wf,A.cssFloat),this.fontFamily=xh(wh,A.fontFamily),this.fontSize=xh(Qh,A.fontSize),this.fontStyle=xh(yh,A.fontStyle),this.fontVariant=xh(Uh,A.fontVariant),this.fontWeight=xh(vh,A.fontWeight),this.letterSpacing=xh(Qf,A.letterSpacing),this.lineBreak=xh(Cf,A.lineBreak),this.lineHeight=xh(Ef,A.lineHeight),this.listStyleImage=xh(yf,A.listStyleImage),this.listStylePosition=xh(_f,A.listStylePosition),this.listStyleType=xh(Nf,A.listStyleType),this.marginTop=xh(If,A.marginTop),this.marginRight=xh(Of,A.marginRight),this.marginBottom=xh(Tf,A.marginBottom),this.marginLeft=xh(xf,A.marginLeft),this.opacity=xh(ph,A.opacity);var t=xh(Lf,A.overflow);this.overflowX=t[0],this.overflowY=t[t.length>1?1:0],this.overflowWrap=xh(kf,A.overflowWrap),this.paddingTop=xh(zf,A.paddingTop),this.paddingRight=xh(Vf,A.paddingRight),this.paddingBottom=xh(Xf,A.paddingBottom),this.paddingLeft=xh(Jf,A.paddingLeft),this.position=xh($f,A.position),this.textAlign=xh(Wf,A.textAlign),this.textDecorationColor=xh(gh,A.textDecorationColor||A.color),this.textDecorationLine=xh(dh,A.textDecorationLine),this.textShadow=xh(Zf,A.textShadow),this.textTransform=xh(eh,A.textTransform),this.transform=xh(nh,A.transform),this.transformOrigin=xh(sh,A.transformOrigin),this.visibility=xh(ch,A.visibility),this.wordBreak=xh(hh,A.wordBreak),this.zIndex=xh(Bh,A.zIndex)}return A.prototype.isVisible=function(){return this.display>0&&this.opacity>0&&this.visibility===Ah.VISIBLE},A.prototype.isTransparent=function(){return Dc(this.backgroundColor)},A.prototype.isTransformed=function(){return null!==this.transform},A.prototype.isPositioned=function(){return this.position!==Gf.STATIC},A.prototype.isPositionedWithZIndex=function(){return this.isPositioned()&&!this.zIndex.auto},A.prototype.isFloating=function(){return this.float!==Af.NONE},A.prototype.isInlineLevel=function(){return Fh(this.display,4)||Fh(this.display,33554432)||Fh(this.display,268435456)||Fh(this.display,536870912)||Fh(this.display,67108864)||Fh(this.display,134217728)},A}(),Oh=function(A){this.content=xh(mh,A.content),this.quotes=xh(bh,A.quotes)},Th=function(A){this.counterIncrement=xh(_h,A.counterIncrement),this.counterReset=xh(Hh,A.counterReset)},xh=function(A,t){var e=new gc,n=null!=t?t.toString():A.initialValue;e.write(n);var r=new dc(e.read());switch(A.type){case Jc.IDENT_VALUE:var o=r.parseComponentValue();return A.parse(vc(o)?o.value:A.initialValue);case Jc.VALUE:return A.parse(r.parseComponentValue());case Jc.LIST:return A.parse(r.parseComponentValues());case Jc.TOKEN_VALUE:return r.parseComponentValue();case Jc.TYPE_VALUE:switch(A.format){case\"angle\":return xc(r.parseComponentValue());case\"color\":return Mc(r.parseComponentValue());case\"image\":return bl(r.parseComponentValue());case\"length\":var i=r.parseComponentValue();return _c(i)?i:Nc;case\"length-percentage\":var s=r.parseComponentValue();return Hc(s)?s:Nc}}throw new Error(\"Attempting to parse unsupported css format type \"+A.format)},Sh=function(A){this.styles=new Ih(window.getComputedStyle(A,null)),this.textNodes=[],this.elements=[],null!==this.styles.transform&&hB(A)&&(A.style.transform=\"none\"),this.bounds=La(A),this.flags=0},Rh=function(A,t){this.text=A,this.bounds=t},Lh=function(A){var t=A.ownerDocument;if(t){var e=t.createElement(\"html2canvaswrapper\");e.appendChild(A.cloneNode(!0));var n=A.parentNode;if(n){n.replaceChild(e,A);var r=La(e);return e.firstChild&&n.replaceChild(e.firstChild,e),r}}return new Ra(0,0,0,0)},Mh=function(A,t,e){var n=A.ownerDocument;if(!n)throw new Error(\"Node has no owner document\");var r=n.createRange();return r.setStart(A,t),r.setEnd(A,t+e),Ra.fromClientRect(r.getBoundingClientRect())},Dh=function(A,t){return 0!==t.letterSpacing?Ma(A).map((function(A){return Da(A)})):kh(A,t)},kh=function(A,t){for(var e,n=function(A,t){var e=Ma(A),n=Ru(e,t),r=n[0],o=n[1],i=n[2],s=e.length,a=0,u=0;return{next:function(){if(u>=s)return{done:!0,value:null};for(var A=\"×\";u<s&&\"×\"===(A=Su(e,o,r,++u,i)););if(\"×\"!==A||u===s){var t=new Lu(e,A,a,u);return a=u,{value:t,done:!1}}return{done:!0,value:null}}}}(A,{lineBreak:t.lineBreak,wordBreak:t.overflowWrap===Sf.BREAK_WORD?\"break-word\":t.wordBreak}),r=[];!(e=n.next()).done;)e.value&&r.push(e.value.slice());return r},Ph=function(A,t){this.text=zh(A.data,t.textTransform),this.textBounds=function(A,t,e){var n=Dh(A,t),r=[],o=0;return n.forEach((function(A){if(t.textDecorationLine.length||A.trim().length>0)if(fl.SUPPORT_RANGE_BOUNDS)r.push(new Rh(A,Mh(e,o,A.length)));else{var n=e.splitText(A.length);r.push(new Rh(A,Lh(e))),e=n}else fl.SUPPORT_RANGE_BOUNDS||(e=e.splitText(A.length));o+=A.length})),r}(this.text,t,A)},zh=function(A,t){switch(t){case Yf.LOWERCASE:return A.toLowerCase();case Yf.CAPITALIZE:return A.replace(Vh,Xh);case Yf.UPPERCASE:return A.toUpperCase();default:return A}},Vh=/(^|\\s|:|-|\\(|\\))([a-z])/g,Xh=function(A,t,e){return A.length>0?t+e.toUpperCase():A},Jh=function(A){function t(t){var e=A.call(this,t)||this;return e.src=t.currentSrc||t.src,e.intrinsicWidth=t.naturalWidth,e.intrinsicHeight=t.naturalHeight,Bl.getInstance().addImage(e.src),e}return Oa(t,A),t}(Sh),Gh=function(A){function t(t){var e=A.call(this,t)||this;return e.canvas=t,e.intrinsicWidth=t.width,e.intrinsicHeight=t.height,e}return Oa(t,A),t}(Sh),jh=function(A){function t(t){var e=A.call(this,t)||this,n=new XMLSerializer;return e.svg=\"data:image/svg+xml,\"+encodeURIComponent(n.serializeToString(t)),e.intrinsicWidth=t.width.baseVal.value,e.intrinsicHeight=t.height.baseVal.value,Bl.getInstance().addImage(e.svg),e}return Oa(t,A),t}(Sh),Wh=function(A){function t(t){var e=A.call(this,t)||this;return e.value=t.value,e}return Oa(t,A),t}(Sh),Yh=function(A){function t(t){var e=A.call(this,t)||this;return e.start=t.start,e.reversed=\"boolean\"==typeof t.reversed&&!0===t.reversed,e}return Oa(t,A),t}(Sh),qh=[{type:$a.DIMENSION_TOKEN,flags:0,unit:\"px\",number:3}],$h=[{type:$a.PERCENTAGE_TOKEN,flags:0,number:50}],Zh=\"password\",AB=function(A){function t(t){var e,n,r,o=A.call(this,t)||this;switch(o.type=t.type.toLowerCase(),o.checked=t.checked,o.value=0===(n=(e=t).type===Zh?new Array(e.value.length+1).join(\"•\"):e.value).length?e.placeholder||\"\":n,\"checkbox\"!==o.type&&\"radio\"!==o.type||(o.styles.backgroundColor=3739148031,o.styles.borderTopColor=o.styles.borderRightColor=o.styles.borderBottomColor=o.styles.borderLeftColor=2779096575,o.styles.borderTopWidth=o.styles.borderRightWidth=o.styles.borderBottomWidth=o.styles.borderLeftWidth=1,o.styles.borderTopStyle=o.styles.borderRightStyle=o.styles.borderBottomStyle=o.styles.borderLeftStyle=Dl.SOLID,o.styles.backgroundClip=[jc.BORDER_BOX],o.styles.backgroundOrigin=[0],o.bounds=(r=o.bounds).width>r.height?new Ra(r.left+(r.width-r.height)/2,r.top,r.height,r.height):r.width<r.height?new Ra(r.left,r.top+(r.height-r.width)/2,r.width,r.width):r),o.type){case\"checkbox\":o.styles.borderTopRightRadius=o.styles.borderTopLeftRadius=o.styles.borderBottomRightRadius=o.styles.borderBottomLeftRadius=qh;break;case\"radio\":o.styles.borderTopRightRadius=o.styles.borderTopLeftRadius=o.styles.borderBottomRightRadius=o.styles.borderBottomLeftRadius=$h}return o}return Oa(t,A),t}(Sh),tB=function(A){function t(t){var e=A.call(this,t)||this,n=t.options[t.selectedIndex||0];return e.value=n&&n.text||\"\",e}return Oa(t,A),t}(Sh),eB=function(A){function t(t){var e=A.call(this,t)||this;return e.value=t.value,e}return Oa(t,A),t}(Sh),nB=function(A){return Mc(dc.create(A).parseComponentValue())},rB=function(A){function t(t){var e=A.call(this,t)||this;e.src=t.src,e.width=parseInt(t.width,10)||0,e.height=parseInt(t.height,10)||0,e.backgroundColor=e.styles.backgroundColor;try{if(t.contentWindow&&t.contentWindow.document&&t.contentWindow.document.documentElement){e.tree=aB(t.contentWindow.document.documentElement);var n=t.contentWindow.document.documentElement?nB(getComputedStyle(t.contentWindow.document.documentElement).backgroundColor):$c.TRANSPARENT,r=t.contentWindow.document.body?nB(getComputedStyle(t.contentWindow.document.body).backgroundColor):$c.TRANSPARENT;e.backgroundColor=Dc(n)?Dc(r)?e.styles.backgroundColor:r:n}}catch(o){}return e}return Oa(t,A),t}(Sh),oB=[\"OL\",\"UL\",\"MENU\"],iB=function(A,t,e){for(var n=A.firstChild,r=void 0;n;n=r)if(r=n.nextSibling,lB(n)&&n.data.trim().length>0)t.textNodes.push(new Ph(n,t.styles));else if(fB(n)){var o=sB(n);o.styles.isVisible()&&(uB(n,o,e)?o.flags|=4:cB(o.styles)&&(o.flags|=2),-1!==oB.indexOf(n.tagName)&&(o.flags|=8),t.elements.push(o),FB(n)||wB(n)||mB(n)||iB(n,o,e))}},sB=function(A){return UB(A)?new Jh(A):vB(A)?new Gh(A):wB(A)?new jh(A):pB(A)?new Wh(A):gB(A)?new Yh(A):dB(A)?new AB(A):mB(A)?new tB(A):FB(A)?new eB(A):CB(A)?new rB(A):new Sh(A)},aB=function(A){var t=sB(A);return t.flags|=4,iB(A,t,t),t},uB=function(A,t,e){return t.styles.isPositionedWithZIndex()||t.styles.opacity<1||t.styles.isTransformed()||QB(A)&&e.styles.isTransparent()},cB=function(A){return A.isPositioned()||A.isFloating()},lB=function(A){return A.nodeType===Node.TEXT_NODE},fB=function(A){return A.nodeType===Node.ELEMENT_NODE},hB=function(A){return fB(A)&&void 0!==A.style&&!BB(A)},BB=function(A){return\"object\"==typeof A.className},pB=function(A){return\"LI\"===A.tagName},gB=function(A){return\"OL\"===A.tagName},dB=function(A){return\"INPUT\"===A.tagName},wB=function(A){return\"svg\"===A.tagName},QB=function(A){return\"BODY\"===A.tagName},vB=function(A){return\"CANVAS\"===A.tagName},UB=function(A){return\"IMG\"===A.tagName},CB=function(A){return\"IFRAME\"===A.tagName},EB=function(A){return\"STYLE\"===A.tagName},yB=function(A){return\"SCRIPT\"===A.tagName},FB=function(A){return\"TEXTAREA\"===A.tagName},mB=function(A){return\"SELECT\"===A.tagName},_B=function(){function A(){this.counters={}}return A.prototype.getCounterValue=function(A){var t=this.counters[A];return t&&t.length?t[t.length-1]:1},A.prototype.getCounterValues=function(A){var t=this.counters[A];return t||[]},A.prototype.pop=function(A){var t=this;A.forEach((function(A){return t.counters[A].pop()}))},A.prototype.parse=function(A){var t=this,e=A.counterIncrement,n=A.counterReset,r=!0;null!==e&&e.forEach((function(A){var e=t.counters[A.counter];e&&0!==A.increment&&(r=!1,e[Math.max(0,e.length-1)]+=A.increment)}));var o=[];return r&&n.forEach((function(A){var e=t.counters[A.counter];o.push(A.counter),e||(e=t.counters[A.counter]=[]),e.push(A.reset)})),o},A}(),HB={integers:[1e3,900,500,400,100,90,50,40,10,9,5,4,1],values:[\"M\",\"CM\",\"D\",\"CD\",\"C\",\"XC\",\"L\",\"XL\",\"X\",\"IX\",\"V\",\"IV\",\"I\"]},bB={integers:[9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:[\"Ք\",\"Փ\",\"Ւ\",\"Ց\",\"Ր\",\"Տ\",\"Վ\",\"Ս\",\"Ռ\",\"Ջ\",\"Պ\",\"Չ\",\"Ո\",\"Շ\",\"Ն\",\"Յ\",\"Մ\",\"Ճ\",\"Ղ\",\"Ձ\",\"Հ\",\"Կ\",\"Ծ\",\"Խ\",\"Լ\",\"Ի\",\"Ժ\",\"Թ\",\"Ը\",\"Է\",\"Զ\",\"Ե\",\"Դ\",\"Գ\",\"Բ\",\"Ա\"]},NB={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,400,300,200,100,90,80,70,60,50,40,30,20,19,18,17,16,15,10,9,8,7,6,5,4,3,2,1],values:[\"י׳\",\"ט׳\",\"ח׳\",\"ז׳\",\"ו׳\",\"ה׳\",\"ד׳\",\"ג׳\",\"ב׳\",\"א׳\",\"ת\",\"ש\",\"ר\",\"ק\",\"צ\",\"פ\",\"ע\",\"ס\",\"נ\",\"מ\",\"ל\",\"כ\",\"יט\",\"יח\",\"יז\",\"טז\",\"טו\",\"י\",\"ט\",\"ח\",\"ז\",\"ו\",\"ה\",\"ד\",\"ג\",\"ב\",\"א\"]},KB={integers:[1e4,9e3,8e3,7e3,6e3,5e3,4e3,3e3,2e3,1e3,900,800,700,600,500,400,300,200,100,90,80,70,60,50,40,30,20,10,9,8,7,6,5,4,3,2,1],values:[\"ჵ\",\"ჰ\",\"ჯ\",\"ჴ\",\"ხ\",\"ჭ\",\"წ\",\"ძ\",\"ც\",\"ჩ\",\"შ\",\"ყ\",\"ღ\",\"ქ\",\"ფ\",\"ჳ\",\"ტ\",\"ს\",\"რ\",\"ჟ\",\"პ\",\"ო\",\"ჲ\",\"ნ\",\"მ\",\"ლ\",\"კ\",\"ი\",\"თ\",\"ჱ\",\"ზ\",\"ვ\",\"ე\",\"დ\",\"გ\",\"ბ\",\"ა\"]},IB=function(A,t,e,n,r,o){return A<t||A>e?RB(A,r,o.length>0):n.integers.reduce((function(t,e,r){for(;A>=e;)A-=e,t+=n.values[r];return t}),\"\")+o},OB=function(A,t,e,n){var r=\"\";do{e||A--,r=n(A)+r,A/=t}while(A*t>=t);return r},TB=function(A,t,e,n,r){var o=e-t+1;return(A<0?\"-\":\"\")+(OB(Math.abs(A),o,n,(function(A){return Da(Math.floor(A%o)+t)}))+r)},xB=function(A,t,e){void 0===e&&(e=\". \");var n=t.length;return OB(Math.abs(A),n,!1,(function(A){return t[Math.floor(A%n)]}))+e},SB=function(A,t,e,n,r,o){if(A<-9999||A>9999)return RB(A,Ff.CJK_DECIMAL,r.length>0);var i=Math.abs(A),s=r;if(0===i)return t[0]+s;for(var a=0;i>0&&a<=4;a++){var u=i%10;0===u&&Fh(o,1)&&\"\"!==s?s=t[u]+s:u>1||1===u&&0===a||1===u&&1===a&&Fh(o,2)||1===u&&1===a&&Fh(o,4)&&A>100||1===u&&a>1&&Fh(o,8)?s=t[u]+(a>0?e[a-1]:\"\")+s:1===u&&a>0&&(s=e[a-1]+s),i=Math.floor(i/10)}return(A<0?n:\"\")+s},RB=function(A,t,e){var n=e?\". \":\"\",r=e?\"、\":\"\",o=e?\", \":\"\",i=e?\" \":\"\";switch(t){case Ff.DISC:return\"•\"+i;case Ff.CIRCLE:return\"◦\"+i;case Ff.SQUARE:return\"◾\"+i;case Ff.DECIMAL_LEADING_ZERO:var s=TB(A,48,57,!0,n);return s.length<4?\"0\"+s:s;case Ff.CJK_DECIMAL:return xB(A,\"〇一二三四五六七八九\",r);case Ff.LOWER_ROMAN:return IB(A,1,3999,HB,Ff.DECIMAL,n).toLowerCase();case Ff.UPPER_ROMAN:return IB(A,1,3999,HB,Ff.DECIMAL,n);case Ff.LOWER_GREEK:return TB(A,945,969,!1,n);case Ff.LOWER_ALPHA:return TB(A,97,122,!1,n);case Ff.UPPER_ALPHA:return TB(A,65,90,!1,n);case Ff.ARABIC_INDIC:return TB(A,1632,1641,!0,n);case Ff.ARMENIAN:case Ff.UPPER_ARMENIAN:return IB(A,1,9999,bB,Ff.DECIMAL,n);case Ff.LOWER_ARMENIAN:return IB(A,1,9999,bB,Ff.DECIMAL,n).toLowerCase();case Ff.BENGALI:return TB(A,2534,2543,!0,n);case Ff.CAMBODIAN:case Ff.KHMER:return TB(A,6112,6121,!0,n);case Ff.CJK_EARTHLY_BRANCH:return xB(A,\"子丑寅卯辰巳午未申酉戌亥\",r);case Ff.CJK_HEAVENLY_STEM:return xB(A,\"甲乙丙丁戊己庚辛壬癸\",r);case Ff.CJK_IDEOGRAPHIC:case Ff.TRAD_CHINESE_INFORMAL:return SB(A,\"零一二三四五六七八九\",\"十百千萬\",\"負\",r,14);case Ff.TRAD_CHINESE_FORMAL:return SB(A,\"零壹貳參肆伍陸柒捌玖\",\"拾佰仟萬\",\"負\",r,15);case Ff.SIMP_CHINESE_INFORMAL:return SB(A,\"零一二三四五六七八九\",\"十百千萬\",\"负\",r,14);case Ff.SIMP_CHINESE_FORMAL:return SB(A,\"零壹贰叁肆伍陆柒捌玖\",\"拾佰仟萬\",\"负\",r,15);case Ff.JAPANESE_INFORMAL:return SB(A,\"〇一二三四五六七八九\",\"十百千万\",\"マイナス\",r,0);case Ff.JAPANESE_FORMAL:return SB(A,\"零壱弐参四伍六七八九\",\"拾百千万\",\"マイナス\",r,7);case Ff.KOREAN_HANGUL_FORMAL:return SB(A,\"영일이삼사오육칠팔구\",\"십백천만\",\"마이너스\",o,7);case Ff.KOREAN_HANJA_INFORMAL:return SB(A,\"零一二三四五六七八九\",\"十百千萬\",\"마이너스\",o,0);case Ff.KOREAN_HANJA_FORMAL:return SB(A,\"零壹貳參四五六七八九\",\"拾百千\",\"마이너스\",o,7);case Ff.DEVANAGARI:return TB(A,2406,2415,!0,n);case Ff.GEORGIAN:return IB(A,1,19999,KB,Ff.DECIMAL,n);case Ff.GUJARATI:return TB(A,2790,2799,!0,n);case Ff.GURMUKHI:return TB(A,2662,2671,!0,n);case Ff.HEBREW:return IB(A,1,10999,NB,Ff.DECIMAL,n);case Ff.HIRAGANA:return xB(A,\"あいうえおかきくけこさしすせそたちつてとなにぬねのはひふへほまみむめもやゆよらりるれろわゐゑをん\");case Ff.HIRAGANA_IROHA:return xB(A,\"いろはにほへとちりぬるをわかよたれそつねならむうゐのおくやまけふこえてあさきゆめみしゑひもせす\");case Ff.KANNADA:return TB(A,3302,3311,!0,n);case Ff.KATAKANA:return xB(A,\"アイウエオカキクケコサシスセソタチツテトナニヌネノハヒフヘホマミムメモヤユヨラリルレロワヰヱヲン\",r);case Ff.KATAKANA_IROHA:return xB(A,\"イロハニホヘトチリヌルヲワカヨタレソツネナラムウヰノオクヤマケフコエテアサキユメミシヱヒモセス\",r);case Ff.LAO:return TB(A,3792,3801,!0,n);case Ff.MONGOLIAN:return TB(A,6160,6169,!0,n);case Ff.MYANMAR:return TB(A,4160,4169,!0,n);case Ff.ORIYA:return TB(A,2918,2927,!0,n);case Ff.PERSIAN:return TB(A,1776,1785,!0,n);case Ff.TAMIL:return TB(A,3046,3055,!0,n);case Ff.TELUGU:return TB(A,3174,3183,!0,n);case Ff.THAI:return TB(A,3664,3673,!0,n);case Ff.TIBETAN:return TB(A,3872,3881,!0,n);case Ff.DECIMAL:default:return TB(A,48,57,!0,n)}},LB=function(){function A(A,t){if(this.options=t,this.scrolledElements=[],this.referenceElement=A,this.counters=new _B,this.quoteDepth=0,!A.ownerDocument)throw new Error(\"Cloned element does not have an owner document\");this.documentElement=this.cloneNode(A.ownerDocument.documentElement)}return A.prototype.toIFrame=function(A,t){var e=this,n=kB(A,t);if(!n.contentWindow)return Promise.reject(\"Unable to find iframe window\");var r=A.defaultView.pageXOffset,o=A.defaultView.pageYOffset,i=n.contentWindow,s=i.document,a=PB(n).then((function(){return xa(e,void 0,void 0,(function(){var A;return Sa(this,(function(e){switch(e.label){case 0:return this.scrolledElements.forEach(JB),i&&(i.scrollTo(t.left,t.top),!/(iPad|iPhone|iPod)/g.test(navigator.userAgent)||i.scrollY===t.top&&i.scrollX===t.left||(s.documentElement.style.top=-t.top+\"px\",s.documentElement.style.left=-t.left+\"px\",s.documentElement.style.position=\"absolute\")),A=this.options.onclone,void 0===this.clonedReferenceElement?[2,Promise.reject(\"Error finding the \"+this.referenceElement.nodeName+\" in the cloned document\")]:s.fonts&&s.fonts.ready?[4,s.fonts.ready]:[3,2];case 1:e.sent(),e.label=2;case 2:return\"function\"==typeof A?[2,Promise.resolve().then((function(){return A(s)})).then((function(){return n}))]:[2,n]}}))}))}));return s.open(),s.write(VB(document.doctype)+\"<html></html>\"),XB(this.referenceElement.ownerDocument,r,o),s.replaceChild(s.adoptNode(this.documentElement),s.documentElement),s.close(),a},A.prototype.createElementClone=function(A){if(vB(A))return this.createCanvasClone(A);if(EB(A))return this.createStyleClone(A);var t=A.cloneNode(!1);return UB(t)&&\"lazy\"===t.loading&&(t.loading=\"eager\"),t},A.prototype.createStyleClone=function(A){try{var t=A.sheet;if(t&&t.cssRules){var e=[].slice.call(t.cssRules,0).reduce((function(A,t){return t&&\"string\"==typeof t.cssText?A+t.cssText:A}),\"\"),n=A.cloneNode(!1);return n.textContent=e,n}}catch(r){if(hl.getInstance(this.options.id).error(\"Unable to access cssRules property\",r),\"SecurityError\"!==r.name)throw r}return A.cloneNode(!1)},A.prototype.createCanvasClone=function(A){if(this.options.inlineImages&&A.ownerDocument){var t=A.ownerDocument.createElement(\"img\");try{return t.src=A.toDataURL(),t}catch(o){hl.getInstance(this.options.id).info(\"Unable to clone canvas contents, canvas is tainted\")}}var e=A.cloneNode(!1);try{e.width=A.width,e.height=A.height;var n=A.getContext(\"2d\"),r=e.getContext(\"2d\");return r&&(n?r.putImageData(n.getImageData(0,0,A.width,A.height),0,0):r.drawImage(A,0,0)),e}catch(o){}return e},A.prototype.cloneNode=function(A){if(lB(A))return document.createTextNode(A.data);if(!A.ownerDocument)return A.cloneNode(!1);var t=A.ownerDocument.defaultView;if(t&&fB(A)&&(hB(A)||BB(A))){var e=this.createElementClone(A),n=t.getComputedStyle(A),r=t.getComputedStyle(A,\":before\"),o=t.getComputedStyle(A,\":after\");this.referenceElement===A&&hB(e)&&(this.clonedReferenceElement=e),QB(e)&&WB(e);for(var i=this.counters.parse(new Th(n)),s=this.resolvePseudoContent(A,e,r,Ch.BEFORE),a=A.firstChild;a;a=a.nextSibling)fB(a)&&(yB(a)||a.hasAttribute(\"data-html2canvas-ignore\")||\"function\"==typeof this.options.ignoreElements&&this.options.ignoreElements(a))||this.options.copyStyles&&fB(a)&&EB(a)||e.appendChild(this.cloneNode(a));s&&e.insertBefore(s,e.firstChild);var u=this.resolvePseudoContent(A,e,o,Ch.AFTER);return u&&e.appendChild(u),this.counters.pop(i),n&&(this.options.copyStyles||BB(A))&&!CB(A)&&zB(n,e),0===A.scrollTop&&0===A.scrollLeft||this.scrolledElements.push([e,A.scrollLeft,A.scrollTop]),(FB(A)||mB(A))&&(FB(e)||mB(e))&&(e.value=A.value),e}return A.cloneNode(!1)},A.prototype.resolvePseudoContent=function(A,t,e,n){var r=this;if(e){var o=e.content,i=t.ownerDocument;if(i&&o&&\"none\"!==o&&\"-moz-alt-content\"!==o&&\"none\"!==e.display){this.counters.parse(new Th(e));var s=new Oh(e),a=i.createElement(\"html2canvaspseudoelement\");zB(e,a),s.content.forEach((function(t){if(t.type===$a.STRING_TOKEN)a.appendChild(i.createTextNode(t.value));else if(t.type===$a.URL_TOKEN){var e=i.createElement(\"img\");e.src=t.value,e.style.opacity=\"1\",a.appendChild(e)}else if(t.type===$a.FUNCTION){if(\"attr\"===t.name){var n=t.values.filter(vc);n.length&&a.appendChild(i.createTextNode(A.getAttribute(n[0].value)||\"\"))}else if(\"counter\"===t.name){var o=t.values.filter(yc),u=o[0],c=o[1];if(u&&vc(u)){var l=r.counters.getCounterValue(u.value),f=c&&vc(c)?Nf.parse(c.value):Ff.DECIMAL;a.appendChild(i.createTextNode(RB(l,f,!1)))}}else if(\"counters\"===t.name){var h=t.values.filter(yc),B=(u=h[0],h[1]);c=h[2];if(u&&vc(u)){var p=r.counters.getCounterValues(u.value),g=c&&vc(c)?Nf.parse(c.value):Ff.DECIMAL,d=B&&B.type===$a.STRING_TOKEN?B.value:\"\",w=p.map((function(A){return RB(A,g,!1)})).join(d);a.appendChild(i.createTextNode(w))}}}else if(t.type===$a.IDENT_TOKEN)switch(t.value){case\"open-quote\":a.appendChild(i.createTextNode(Nh(s.quotes,r.quoteDepth++,!0)));break;case\"close-quote\":a.appendChild(i.createTextNode(Nh(s.quotes,--r.quoteDepth,!1)));break;default:a.appendChild(i.createTextNode(t.value))}})),a.className=GB+\" \"+jB;var u=n===Ch.BEFORE?\" \"+GB:\" \"+jB;return BB(t)?t.className.baseValue+=u:t.className+=u,a}}},A.destroy=function(A){return!!A.parentNode&&(A.parentNode.removeChild(A),!0)},A}();(Eh=Ch||(Ch={}))[Eh.BEFORE=0]=\"BEFORE\",Eh[Eh.AFTER=1]=\"AFTER\";var MB,DB,kB=function(A,t){var e=A.createElement(\"iframe\");return e.className=\"html2canvas-container\",e.style.visibility=\"hidden\",e.style.position=\"fixed\",e.style.left=\"-10000px\",e.style.top=\"0px\",e.style.border=\"0\",e.width=t.width.toString(),e.height=t.height.toString(),e.scrolling=\"no\",e.setAttribute(\"data-html2canvas-ignore\",\"true\"),A.body.appendChild(e),e},PB=function(A){return new Promise((function(t,e){var n=A.contentWindow;if(!n)return e(\"No window assigned for iframe\");var r=n.document;n.onload=A.onload=r.onreadystatechange=function(){n.onload=A.onload=r.onreadystatechange=null;var e=setInterval((function(){r.body.childNodes.length>0&&\"complete\"===r.readyState&&(clearInterval(e),t(A))}),50)}}))},zB=function(A,t){for(var e=A.length-1;e>=0;e--){var n=A.item(e);\"content\"!==n&&t.style.setProperty(n,A.getPropertyValue(n))}return t},VB=function(A){var t=\"\";return A&&(t+=\"<!DOCTYPE \",A.name&&(t+=A.name),A.internalSubset&&(t+=A.internalSubset),A.publicId&&(t+='\"'+A.publicId+'\"'),A.systemId&&(t+='\"'+A.systemId+'\"'),t+=\">\"),t},XB=function(A,t,e){A&&A.defaultView&&(t!==A.defaultView.pageXOffset||e!==A.defaultView.pageYOffset)&&A.defaultView.scrollTo(t,e)},JB=function(A){var t=A[0],e=A[1],n=A[2];t.scrollLeft=e,t.scrollTop=n},GB=\"___html2canvas___pseudoelement_before\",jB=\"___html2canvas___pseudoelement_after\",WB=function(A){YB(A,\".\"+GB+':before{\\n    content: \"\" !important;\\n    display: none !important;\\n}\\n         .'+jB+':after{\\n    content: \"\" !important;\\n    display: none !important;\\n}')},YB=function(A,t){var e=A.ownerDocument;if(e){var n=e.createElement(\"style\");n.textContent=t,A.appendChild(n)}};(DB=MB||(MB={}))[DB.VECTOR=0]=\"VECTOR\",DB[DB.BEZIER_CURVE=1]=\"BEZIER_CURVE\";var qB,$B,ZB=function(A,t){return A.length===t.length&&A.some((function(A,e){return A===t[e]}))},Ap=function(){function A(A,t){this.type=MB.VECTOR,this.x=A,this.y=t}return A.prototype.add=function(t,e){return new A(this.x+t,this.y+e)},A}(),tp=function(A,t,e){return new Ap(A.x+(t.x-A.x)*e,A.y+(t.y-A.y)*e)},ep=function(){function A(A,t,e,n){this.type=MB.BEZIER_CURVE,this.start=A,this.startControl=t,this.endControl=e,this.end=n}return A.prototype.subdivide=function(t,e){var n=tp(this.start,this.startControl,t),r=tp(this.startControl,this.endControl,t),o=tp(this.endControl,this.end,t),i=tp(n,r,t),s=tp(r,o,t),a=tp(i,s,t);return e?new A(this.start,n,i,a):new A(a,s,o,this.end)},A.prototype.add=function(t,e){return new A(this.start.add(t,e),this.startControl.add(t,e),this.endControl.add(t,e),this.end.add(t,e))},A.prototype.reverse=function(){return new A(this.end,this.endControl,this.startControl,this.start)},A}(),np=function(A){return A.type===MB.BEZIER_CURVE},rp=function(A){var t=A.styles,e=A.bounds,n=Oc(t.borderTopLeftRadius,e.width,e.height),r=n[0],o=n[1],i=Oc(t.borderTopRightRadius,e.width,e.height),s=i[0],a=i[1],u=Oc(t.borderBottomRightRadius,e.width,e.height),c=u[0],l=u[1],f=Oc(t.borderBottomLeftRadius,e.width,e.height),h=f[0],B=f[1],p=[];p.push((r+s)/e.width),p.push((h+c)/e.width),p.push((o+B)/e.height),p.push((a+l)/e.height);var g=Math.max.apply(Math,p);g>1&&(r/=g,o/=g,s/=g,a/=g,c/=g,l/=g,h/=g,B/=g);var d=e.width-s,w=e.height-l,Q=e.width-c,v=e.height-B,U=t.borderTopWidth,C=t.borderRightWidth,E=t.borderBottomWidth,y=t.borderLeftWidth,F=Tc(t.paddingTop,A.bounds.width),m=Tc(t.paddingRight,A.bounds.width),_=Tc(t.paddingBottom,A.bounds.width),H=Tc(t.paddingLeft,A.bounds.width);this.topLeftBorderBox=r>0||o>0?op(e.left,e.top,r,o,qB.TOP_LEFT):new Ap(e.left,e.top),this.topRightBorderBox=s>0||a>0?op(e.left+d,e.top,s,a,qB.TOP_RIGHT):new Ap(e.left+e.width,e.top),this.bottomRightBorderBox=c>0||l>0?op(e.left+Q,e.top+w,c,l,qB.BOTTOM_RIGHT):new Ap(e.left+e.width,e.top+e.height),this.bottomLeftBorderBox=h>0||B>0?op(e.left,e.top+v,h,B,qB.BOTTOM_LEFT):new Ap(e.left,e.top+e.height),this.topLeftPaddingBox=r>0||o>0?op(e.left+y,e.top+U,Math.max(0,r-y),Math.max(0,o-U),qB.TOP_LEFT):new Ap(e.left+y,e.top+U),this.topRightPaddingBox=s>0||a>0?op(e.left+Math.min(d,e.width+y),e.top+U,d>e.width+y?0:s-y,a-U,qB.TOP_RIGHT):new Ap(e.left+e.width-C,e.top+U),this.bottomRightPaddingBox=c>0||l>0?op(e.left+Math.min(Q,e.width-y),e.top+Math.min(w,e.height+U),Math.max(0,c-C),l-E,qB.BOTTOM_RIGHT):new Ap(e.left+e.width-C,e.top+e.height-E),this.bottomLeftPaddingBox=h>0||B>0?op(e.left+y,e.top+v,Math.max(0,h-y),B-E,qB.BOTTOM_LEFT):new Ap(e.left+y,e.top+e.height-E),this.topLeftContentBox=r>0||o>0?op(e.left+y+H,e.top+U+F,Math.max(0,r-(y+H)),Math.max(0,o-(U+F)),qB.TOP_LEFT):new Ap(e.left+y+H,e.top+U+F),this.topRightContentBox=s>0||a>0?op(e.left+Math.min(d,e.width+y+H),e.top+U+F,d>e.width+y+H?0:s-y+H,a-(U+F),qB.TOP_RIGHT):new Ap(e.left+e.width-(C+m),e.top+U+F),this.bottomRightContentBox=c>0||l>0?op(e.left+Math.min(Q,e.width-(y+H)),e.top+Math.min(w,e.height+U+F),Math.max(0,c-(C+m)),l-(E+_),qB.BOTTOM_RIGHT):new Ap(e.left+e.width-(C+m),e.top+e.height-(E+_)),this.bottomLeftContentBox=h>0||B>0?op(e.left+y+H,e.top+v,Math.max(0,h-(y+H)),B-(E+_),qB.BOTTOM_LEFT):new Ap(e.left+y+H,e.top+e.height-(E+_))};($B=qB||(qB={}))[$B.TOP_LEFT=0]=\"TOP_LEFT\",$B[$B.TOP_RIGHT=1]=\"TOP_RIGHT\",$B[$B.BOTTOM_RIGHT=2]=\"BOTTOM_RIGHT\",$B[$B.BOTTOM_LEFT=3]=\"BOTTOM_LEFT\";var op=function(A,t,e,n,r){var o=(Math.sqrt(2)-1)/3*4,i=e*o,s=n*o,a=A+e,u=t+n;switch(r){case qB.TOP_LEFT:return new ep(new Ap(A,u),new Ap(A,u-s),new Ap(a-i,t),new Ap(a,t));case qB.TOP_RIGHT:return new ep(new Ap(A,t),new Ap(A+i,t),new Ap(a,u-s),new Ap(a,u));case qB.BOTTOM_RIGHT:return new ep(new Ap(a,t),new Ap(a,t+s),new Ap(A+i,u),new Ap(A,u));case qB.BOTTOM_LEFT:default:return new ep(new Ap(a,u),new Ap(a-i,u),new Ap(A,t+s),new Ap(A,t))}},ip=function(A){return[A.topLeftBorderBox,A.topRightBorderBox,A.bottomRightBorderBox,A.bottomLeftBorderBox]},sp=function(A){return[A.topLeftPaddingBox,A.topRightPaddingBox,A.bottomRightPaddingBox,A.bottomLeftPaddingBox]},ap=function(A,t,e){this.type=0,this.offsetX=A,this.offsetY=t,this.matrix=e,this.target=6},up=function(A,t){this.type=1,this.target=t,this.path=A},cp=function(A){this.element=A,this.inlineLevel=[],this.nonInlineLevel=[],this.negativeZIndex=[],this.zeroOrAutoZIndexOrTransformedOrOpacity=[],this.positiveZIndex=[],this.nonPositionedFloats=[],this.nonPositionedInlineLevel=[]},lp=function(){function A(A,t){if(this.container=A,this.effects=t.slice(0),this.curves=new rp(A),null!==A.styles.transform){var e=A.bounds.left+A.styles.transformOrigin[0].number,n=A.bounds.top+A.styles.transformOrigin[1].number,r=A.styles.transform;this.effects.push(new ap(e,n,r))}if(A.styles.overflowX!==Hf.VISIBLE){var o=ip(this.curves),i=sp(this.curves);ZB(o,i)?this.effects.push(new up(o,6)):(this.effects.push(new up(o,2)),this.effects.push(new up(i,4)))}}return A.prototype.getParentEffects=function(){var A=this.effects.slice(0);if(this.container.styles.overflowX!==Hf.VISIBLE){var t=ip(this.curves),e=sp(this.curves);ZB(t,e)||A.push(new up(e,6))}return A},A}(),fp=function(A,t,e,n){A.container.elements.forEach((function(r){var o=Fh(r.flags,4),i=Fh(r.flags,2),s=new lp(r,A.getParentEffects());Fh(r.styles.display,2048)&&n.push(s);var a=Fh(r.flags,8)?[]:n;if(o||i){var u=o||r.styles.isPositioned()?e:t,c=new cp(s);if(r.styles.isPositioned()||r.styles.opacity<1||r.styles.isTransformed()){var l=r.styles.zIndex.order;if(l<0){var f=0;u.negativeZIndex.some((function(A,t){return l>A.element.container.styles.zIndex.order?(f=t,!1):f>0})),u.negativeZIndex.splice(f,0,c)}else if(l>0){var h=0;u.positiveZIndex.some((function(A,t){return l>=A.element.container.styles.zIndex.order?(h=t+1,!1):h>0})),u.positiveZIndex.splice(h,0,c)}else u.zeroOrAutoZIndexOrTransformedOrOpacity.push(c)}else r.styles.isFloating()?u.nonPositionedFloats.push(c):u.nonPositionedInlineLevel.push(c);fp(s,c,o?c:e,a)}else r.styles.isInlineLevel()?t.inlineLevel.push(s):t.nonInlineLevel.push(s),fp(s,t,e,a);Fh(r.flags,8)&&hp(r,a)}))},hp=function(A,t){for(var e=A instanceof Yh?A.start:1,n=A instanceof Yh&&A.reversed,r=0;r<t.length;r++){var o=t[r];o.container instanceof Wh&&\"number\"==typeof o.container.value&&0!==o.container.value&&(e=o.container.value),o.listValue=RB(e,o.container.styles.listStyleType,!0),e+=n?-1:1}},Bp=function(A,t,e,n){var r=[];return np(A)?r.push(A.subdivide(.5,!1)):r.push(A),np(e)?r.push(e.subdivide(.5,!0)):r.push(e),np(n)?r.push(n.subdivide(.5,!0).reverse()):r.push(n),np(t)?r.push(t.subdivide(.5,!1).reverse()):r.push(t),r},pp=function(A){var t=A.bounds,e=A.styles;return t.add(e.borderLeftWidth,e.borderTopWidth,-(e.borderRightWidth+e.borderLeftWidth),-(e.borderTopWidth+e.borderBottomWidth))},gp=function(A){var t=A.styles,e=A.bounds,n=Tc(t.paddingLeft,e.width),r=Tc(t.paddingRight,e.width),o=Tc(t.paddingTop,e.width),i=Tc(t.paddingBottom,e.width);return e.add(n+t.borderLeftWidth,o+t.borderTopWidth,-(t.borderRightWidth+t.borderLeftWidth+n+r),-(t.borderTopWidth+t.borderBottomWidth+o+i))},dp=function(A,t,e){var n,r,o=(n=Up(A.styles.backgroundOrigin,t),r=A,0===n?r.bounds:2===n?gp(r):pp(r)),i=function(A,t){return A===jc.BORDER_BOX?t.bounds:A===jc.CONTENT_BOX?gp(t):pp(t)}(Up(A.styles.backgroundClip,t),A),s=vp(Up(A.styles.backgroundSize,t),e,o),a=s[0],u=s[1],c=Oc(Up(A.styles.backgroundPosition,t),o.width-a,o.height-u);return[Cp(Up(A.styles.backgroundRepeat,t),c,s,o,i),Math.round(o.left+c[0]),Math.round(o.top+c[1]),a,u]},wp=function(A){return vc(A)&&A.value===Sl.AUTO},Qp=function(A){return\"number\"==typeof A},vp=function(A,t,e){var n=t[0],r=t[1],o=t[2],i=A[0],s=A[1];if(Hc(i)&&s&&Hc(s))return[Tc(i,e.width),Tc(s,e.height)];var a=Qp(o);if(vc(i)&&(i.value===Sl.CONTAIN||i.value===Sl.COVER))return Qp(o)?e.width/e.height<o!=(i.value===Sl.COVER)?[e.width,e.width/o]:[e.height*o,e.height]:[e.width,e.height];var u=Qp(n),c=Qp(r),l=u||c;if(wp(i)&&(!s||wp(s)))return u&&c?[n,r]:a||l?l&&a?[u?n:r*o,c?r:n/o]:[u?n:e.width,c?r:e.height]:[e.width,e.height];if(a){var f=0,h=0;return Hc(i)?f=Tc(i,e.width):Hc(s)&&(h=Tc(s,e.height)),wp(i)?f=h*o:s&&!wp(s)||(h=f/o),[f,h]}var B=null,p=null;if(Hc(i)?B=Tc(i,e.width):s&&Hc(s)&&(p=Tc(s,e.height)),null===B||s&&!wp(s)||(p=u&&c?B/n*r:e.height),null!==p&&wp(i)&&(B=u&&c?p/r*n:e.width),null!==B&&null!==p)return[B,p];throw new Error(\"Unable to calculate background-size for element\")},Up=function(A,t){var e=A[t];return void 0===e?A[0]:e},Cp=function(A,t,e,n,r){var o=t[0],i=t[1],s=e[0],a=e[1];switch(A){case Nl.REPEAT_X:return[new Ap(Math.round(n.left),Math.round(n.top+i)),new Ap(Math.round(n.left+n.width),Math.round(n.top+i)),new Ap(Math.round(n.left+n.width),Math.round(a+n.top+i)),new Ap(Math.round(n.left),Math.round(a+n.top+i))];case Nl.REPEAT_Y:return[new Ap(Math.round(n.left+o),Math.round(n.top)),new Ap(Math.round(n.left+o+s),Math.round(n.top)),new Ap(Math.round(n.left+o+s),Math.round(n.height+n.top)),new Ap(Math.round(n.left+o),Math.round(n.height+n.top))];case Nl.NO_REPEAT:return[new Ap(Math.round(n.left+o),Math.round(n.top+i)),new Ap(Math.round(n.left+o+s),Math.round(n.top+i)),new Ap(Math.round(n.left+o+s),Math.round(n.top+i+a)),new Ap(Math.round(n.left+o),Math.round(n.top+i+a))];default:return[new Ap(Math.round(r.left),Math.round(r.top)),new Ap(Math.round(r.left+r.width),Math.round(r.top)),new Ap(Math.round(r.left+r.width),Math.round(r.height+r.top)),new Ap(Math.round(r.left),Math.round(r.height+r.top))]}},Ep=function(){function A(A){this._data={},this._document=A}return A.prototype.parseMetrics=function(A,t){var e=this._document.createElement(\"div\"),n=this._document.createElement(\"img\"),r=this._document.createElement(\"span\"),o=this._document.body;e.style.visibility=\"hidden\",e.style.fontFamily=A,e.style.fontSize=t,e.style.margin=\"0\",e.style.padding=\"0\",o.appendChild(e),n.src=\"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7\",n.width=1,n.height=1,n.style.margin=\"0\",n.style.padding=\"0\",n.style.verticalAlign=\"baseline\",r.style.fontFamily=A,r.style.fontSize=t,r.style.margin=\"0\",r.style.padding=\"0\",r.appendChild(this._document.createTextNode(\"Hidden Text\")),e.appendChild(r),e.appendChild(n);var i=n.offsetTop-r.offsetTop+2;e.removeChild(r),e.appendChild(this._document.createTextNode(\"Hidden Text\")),e.style.lineHeight=\"normal\",n.style.verticalAlign=\"super\";var s=n.offsetTop-e.offsetTop+2;return o.removeChild(e),{baseline:i,middle:s}},A.prototype.getMetrics=function(A,t){var e=A+\" \"+t;return void 0===this._data[e]&&(this._data[e]=this.parseMetrics(A,t)),this._data[e]},A}(),yp=function(){function A(A){this._activeEffects=[],this.canvas=A.canvas?A.canvas:document.createElement(\"canvas\"),this.ctx=this.canvas.getContext(\"2d\"),this.options=A,A.canvas||(this.canvas.width=Math.floor(A.width*A.scale),this.canvas.height=Math.floor(A.height*A.scale),this.canvas.style.width=A.width+\"px\",this.canvas.style.height=A.height+\"px\"),this.fontMetrics=new Ep(document),this.ctx.scale(this.options.scale,this.options.scale),this.ctx.translate(-A.x+A.scrollX,-A.y+A.scrollY),this.ctx.textBaseline=\"bottom\",this._activeEffects=[],hl.getInstance(A.id).debug(\"Canvas renderer initialized (\"+A.width+\"x\"+A.height+\" at \"+A.x+\",\"+A.y+\") with scale \"+A.scale)}return A.prototype.applyEffects=function(A,t){for(var e=this;this._activeEffects.length;)this.popEffect();A.filter((function(A){return Fh(A.target,t)})).forEach((function(A){return e.applyEffect(A)}))},A.prototype.applyEffect=function(A){this.ctx.save(),function(A){return 0===A.type}(A)&&(this.ctx.translate(A.offsetX,A.offsetY),this.ctx.transform(A.matrix[0],A.matrix[1],A.matrix[2],A.matrix[3],A.matrix[4],A.matrix[5]),this.ctx.translate(-A.offsetX,-A.offsetY)),function(A){return 1===A.type}(A)&&(this.path(A.path),this.ctx.clip()),this._activeEffects.push(A)},A.prototype.popEffect=function(){this._activeEffects.pop(),this.ctx.restore()},A.prototype.renderStack=function(A){return xa(this,void 0,void 0,(function(){var t;return Sa(this,(function(e){switch(e.label){case 0:return(t=A.element.container.styles).isVisible()?(this.ctx.globalAlpha=t.opacity,[4,this.renderStackContent(A)]):[3,2];case 1:e.sent(),e.label=2;case 2:return[2]}}))}))},A.prototype.renderNode=function(A){return xa(this,void 0,void 0,(function(){return Sa(this,(function(t){switch(t.label){case 0:return A.container.styles.isVisible()?[4,this.renderNodeBackgroundAndBorders(A)]:[3,3];case 1:return t.sent(),[4,this.renderNodeContent(A)];case 2:t.sent(),t.label=3;case 3:return[2]}}))}))},A.prototype.renderTextWithLetterSpacing=function(A,t){var e=this;0===t?this.ctx.fillText(A.text,A.bounds.left,A.bounds.top+A.bounds.height):Ma(A.text).map((function(A){return Da(A)})).reduce((function(t,n){return e.ctx.fillText(n,t,A.bounds.top+A.bounds.height),t+e.ctx.measureText(n).width}),A.bounds.left)},A.prototype.createFontStyle=function(A){var t=A.fontVariant.filter((function(A){return\"normal\"===A||\"small-caps\"===A})).join(\"\"),e=A.fontFamily.join(\", \"),n=wc(A.fontSize)?\"\"+A.fontSize.number+A.fontSize.unit:A.fontSize.number+\"px\";return[[A.fontStyle,t,A.fontWeight,n,e].join(\" \"),e,n]},A.prototype.renderTextNode=function(A,t){return xa(this,void 0,void 0,(function(){var e,n,r,o,i=this;return Sa(this,(function(s){return e=this.createFontStyle(t),n=e[0],r=e[1],o=e[2],this.ctx.font=n,A.textBounds.forEach((function(A){i.ctx.fillStyle=kc(t.color),i.renderTextWithLetterSpacing(A,t.letterSpacing);var e=t.textShadow;e.length&&A.text.trim().length&&(e.slice(0).reverse().forEach((function(t){i.ctx.shadowColor=kc(t.color),i.ctx.shadowOffsetX=t.offsetX.number*i.options.scale,i.ctx.shadowOffsetY=t.offsetY.number*i.options.scale,i.ctx.shadowBlur=t.blur.number,i.ctx.fillText(A.text,A.bounds.left,A.bounds.top+A.bounds.height)})),i.ctx.shadowColor=\"\",i.ctx.shadowOffsetX=0,i.ctx.shadowOffsetY=0,i.ctx.shadowBlur=0),t.textDecorationLine.length&&(i.ctx.fillStyle=kc(t.textDecorationColor||t.color),t.textDecorationLine.forEach((function(t){switch(t){case 1:var e=i.fontMetrics.getMetrics(r,o).baseline;i.ctx.fillRect(A.bounds.left,Math.round(A.bounds.top+e),A.bounds.width,1);break;case 2:i.ctx.fillRect(A.bounds.left,Math.round(A.bounds.top),A.bounds.width,1);break;case 3:var n=i.fontMetrics.getMetrics(r,o).middle;i.ctx.fillRect(A.bounds.left,Math.ceil(A.bounds.top+n),A.bounds.width,1)}})))})),[2]}))}))},A.prototype.renderReplacedElement=function(A,t,e){if(e&&A.intrinsicWidth>0&&A.intrinsicHeight>0){var n=gp(A),r=sp(t);this.path(r),this.ctx.save(),this.ctx.clip(),this.ctx.drawImage(e,0,0,A.intrinsicWidth,A.intrinsicHeight,n.left,n.top,n.width,n.height),this.ctx.restore()}},A.prototype.renderNodeContent=function(t){return xa(this,void 0,void 0,(function(){var e,n,r,o,i,s,a,u,c,l,f,h,B,p;return Sa(this,(function(g){switch(g.label){case 0:this.applyEffects(t.effects,4),e=t.container,n=t.curves,r=e.styles,o=0,i=e.textNodes,g.label=1;case 1:return o<i.length?(s=i[o],[4,this.renderTextNode(s,r)]):[3,4];case 2:g.sent(),g.label=3;case 3:return o++,[3,1];case 4:if(!(e instanceof Jh))return[3,8];g.label=5;case 5:return g.trys.push([5,7,,8]),[4,this.options.cache.match(e.src)];case 6:return h=g.sent(),this.renderReplacedElement(e,n,h),[3,8];case 7:return g.sent(),hl.getInstance(this.options.id).error(\"Error loading image \"+e.src),[3,8];case 8:if(e instanceof Gh&&this.renderReplacedElement(e,n,e.canvas),!(e instanceof jh))return[3,12];g.label=9;case 9:return g.trys.push([9,11,,12]),[4,this.options.cache.match(e.svg)];case 10:return h=g.sent(),this.renderReplacedElement(e,n,h),[3,12];case 11:return g.sent(),hl.getInstance(this.options.id).error(\"Error loading svg \"+e.svg.substring(0,255)),[3,12];case 12:return e instanceof rB&&e.tree?[4,new A({id:this.options.id,scale:this.options.scale,backgroundColor:e.backgroundColor,x:0,y:0,scrollX:0,scrollY:0,width:e.width,height:e.height,cache:this.options.cache,windowWidth:e.width,windowHeight:e.height}).render(e.tree)]:[3,14];case 13:a=g.sent(),e.width&&e.height&&this.ctx.drawImage(a,0,0,e.width,e.height,e.bounds.left,e.bounds.top,e.bounds.width,e.bounds.height),g.label=14;case 14:if(e instanceof AB&&(u=Math.min(e.bounds.width,e.bounds.height),\"checkbox\"===e.type?e.checked&&(this.ctx.save(),this.path([new Ap(e.bounds.left+.39363*u,e.bounds.top+.79*u),new Ap(e.bounds.left+.16*u,e.bounds.top+.5549*u),new Ap(e.bounds.left+.27347*u,e.bounds.top+.44071*u),new Ap(e.bounds.left+.39694*u,e.bounds.top+.5649*u),new Ap(e.bounds.left+.72983*u,e.bounds.top+.23*u),new Ap(e.bounds.left+.84*u,e.bounds.top+.34085*u),new Ap(e.bounds.left+.39363*u,e.bounds.top+.79*u)]),this.ctx.fillStyle=kc(707406591),this.ctx.fill(),this.ctx.restore()):\"radio\"===e.type&&e.checked&&(this.ctx.save(),this.ctx.beginPath(),this.ctx.arc(e.bounds.left+u/2,e.bounds.top+u/2,u/4,0,2*Math.PI,!0),this.ctx.fillStyle=kc(707406591),this.ctx.fill(),this.ctx.restore())),Fp(e)&&e.value.length){switch(this.ctx.font=this.createFontStyle(r)[0],this.ctx.fillStyle=kc(r.color),this.ctx.textBaseline=\"middle\",this.ctx.textAlign=_p(e.styles.textAlign),p=gp(e),c=0,e.styles.textAlign){case Mf.CENTER:c+=p.width/2;break;case Mf.RIGHT:c+=p.width}l=p.add(c,0,0,-p.height/2+1),this.ctx.save(),this.path([new Ap(p.left,p.top),new Ap(p.left+p.width,p.top),new Ap(p.left+p.width,p.top+p.height),new Ap(p.left,p.top+p.height)]),this.ctx.clip(),this.renderTextWithLetterSpacing(new Rh(e.value,l),r.letterSpacing),this.ctx.restore(),this.ctx.textBaseline=\"bottom\",this.ctx.textAlign=\"left\"}if(!Fh(e.styles.display,2048))return[3,20];if(null===e.styles.listStyleImage)return[3,19];if((f=e.styles.listStyleImage).type!==Zc.URL)return[3,18];h=void 0,B=f.url,g.label=15;case 15:return g.trys.push([15,17,,18]),[4,this.options.cache.match(B)];case 16:return h=g.sent(),this.ctx.drawImage(h,e.bounds.left-(h.width+10),e.bounds.top),[3,18];case 17:return g.sent(),hl.getInstance(this.options.id).error(\"Error loading list-style-image \"+B),[3,18];case 18:return[3,20];case 19:t.listValue&&e.styles.listStyleType!==Ff.NONE&&(this.ctx.font=this.createFontStyle(r)[0],this.ctx.fillStyle=kc(r.color),this.ctx.textBaseline=\"middle\",this.ctx.textAlign=\"right\",p=new Ra(e.bounds.left,e.bounds.top+Tc(e.styles.paddingTop,e.bounds.width),e.bounds.width,(d=r.lineHeight,w=r.fontSize.number,(vc(d)&&\"normal\"===d.value?1.2*w:d.type===$a.NUMBER_TOKEN?w*d.number:Hc(d)?Tc(d,w):w)/2+1)),this.renderTextWithLetterSpacing(new Rh(t.listValue,p),r.letterSpacing),this.ctx.textBaseline=\"bottom\",this.ctx.textAlign=\"left\"),g.label=20;case 20:return[2]}var d,w}))}))},A.prototype.renderStackContent=function(A){return xa(this,void 0,void 0,(function(){var t,e,n,r,o,i,s,a,u,c,l,f,h,B,p;return Sa(this,(function(g){switch(g.label){case 0:return[4,this.renderNodeBackgroundAndBorders(A.element)];case 1:g.sent(),t=0,e=A.negativeZIndex,g.label=2;case 2:return t<e.length?(p=e[t],[4,this.renderStack(p)]):[3,5];case 3:g.sent(),g.label=4;case 4:return t++,[3,2];case 5:return[4,this.renderNodeContent(A.element)];case 6:g.sent(),n=0,r=A.nonInlineLevel,g.label=7;case 7:return n<r.length?(p=r[n],[4,this.renderNode(p)]):[3,10];case 8:g.sent(),g.label=9;case 9:return n++,[3,7];case 10:o=0,i=A.nonPositionedFloats,g.label=11;case 11:return o<i.length?(p=i[o],[4,this.renderStack(p)]):[3,14];case 12:g.sent(),g.label=13;case 13:return o++,[3,11];case 14:s=0,a=A.nonPositionedInlineLevel,g.label=15;case 15:return s<a.length?(p=a[s],[4,this.renderStack(p)]):[3,18];case 16:g.sent(),g.label=17;case 17:return s++,[3,15];case 18:u=0,c=A.inlineLevel,g.label=19;case 19:return u<c.length?(p=c[u],[4,this.renderNode(p)]):[3,22];case 20:g.sent(),g.label=21;case 21:return u++,[3,19];case 22:l=0,f=A.zeroOrAutoZIndexOrTransformedOrOpacity,g.label=23;case 23:return l<f.length?(p=f[l],[4,this.renderStack(p)]):[3,26];case 24:g.sent(),g.label=25;case 25:return l++,[3,23];case 26:h=0,B=A.positiveZIndex,g.label=27;case 27:return h<B.length?(p=B[h],[4,this.renderStack(p)]):[3,30];case 28:g.sent(),g.label=29;case 29:return h++,[3,27];case 30:return[2]}}))}))},A.prototype.mask=function(A){this.ctx.beginPath(),this.ctx.moveTo(0,0),this.ctx.lineTo(this.canvas.width,0),this.ctx.lineTo(this.canvas.width,this.canvas.height),this.ctx.lineTo(0,this.canvas.height),this.ctx.lineTo(0,0),this.formatPath(A.slice(0).reverse()),this.ctx.closePath()},A.prototype.path=function(A){this.ctx.beginPath(),this.formatPath(A),this.ctx.closePath()},A.prototype.formatPath=function(A){var t=this;A.forEach((function(A,e){var n=np(A)?A.start:A;0===e?t.ctx.moveTo(n.x,n.y):t.ctx.lineTo(n.x,n.y),np(A)&&t.ctx.bezierCurveTo(A.startControl.x,A.startControl.y,A.endControl.x,A.endControl.y,A.end.x,A.end.y)}))},A.prototype.renderRepeat=function(A,t,e,n){this.path(A),this.ctx.fillStyle=t,this.ctx.translate(e,n),this.ctx.fill(),this.ctx.translate(-e,-n)},A.prototype.resizeImage=function(A,t,e){if(A.width===t&&A.height===e)return A;var n=this.canvas.ownerDocument.createElement(\"canvas\");return n.width=t,n.height=e,n.getContext(\"2d\").drawImage(A,0,0,A.width,A.height,0,0,t,e),n},A.prototype.renderBackgroundImage=function(A){return xa(this,void 0,void 0,(function(){var t,e,n,r,o,i;return Sa(this,(function(s){switch(s.label){case 0:t=A.styles.backgroundImage.length-1,e=function(e){var r,o,i,s,a,u,c,l,f,h,B,p,g,d,w,Q,v,U,C,E,y,F,m,_,H,b,N,K,I,O,T;return Sa(this,(function(x){switch(x.label){case 0:if(e.type!==Zc.URL)return[3,5];r=void 0,o=e.url,x.label=1;case 1:return x.trys.push([1,3,,4]),[4,n.options.cache.match(o)];case 2:return r=x.sent(),[3,4];case 3:return x.sent(),hl.getInstance(n.options.id).error(\"Error loading background-image \"+o),[3,4];case 4:return r&&(i=dp(A,t,[r.width,r.height,r.width/r.height]),Q=i[0],F=i[1],m=i[2],C=i[3],E=i[4],d=n.ctx.createPattern(n.resizeImage(r,C,E),\"repeat\"),n.renderRepeat(Q,d,F,m)),[3,6];case 5:e.type===Zc.LINEAR_GRADIENT?(s=dp(A,t,[null,null,null]),Q=s[0],F=s[1],m=s[2],C=s[3],E=s[4],a=ol(e.angle,C,E),u=a[0],c=a[1],l=a[2],f=a[3],h=a[4],(B=document.createElement(\"canvas\")).width=C,B.height=E,p=B.getContext(\"2d\"),g=p.createLinearGradient(c,f,l,h),rl(e.stops,u).forEach((function(A){return g.addColorStop(A.stop,kc(A.color))})),p.fillStyle=g,p.fillRect(0,0,C,E),C>0&&E>0&&(d=n.ctx.createPattern(B,\"repeat\"),n.renderRepeat(Q,d,F,m))):function(A){return A.type===Zc.RADIAL_GRADIENT}(e)&&(w=dp(A,t,[null,null,null]),Q=w[0],v=w[1],U=w[2],C=w[3],E=w[4],y=0===e.position.length?[Kc]:e.position,F=Tc(y[0],C),m=Tc(y[y.length-1],E),_=function(A,t,e,n,r){var o=0,i=0;switch(A.size){case _l.CLOSEST_SIDE:A.shape===Fl.CIRCLE?o=i=Math.min(Math.abs(t),Math.abs(t-n),Math.abs(e),Math.abs(e-r)):A.shape===Fl.ELLIPSE&&(o=Math.min(Math.abs(t),Math.abs(t-n)),i=Math.min(Math.abs(e),Math.abs(e-r)));break;case _l.CLOSEST_CORNER:if(A.shape===Fl.CIRCLE)o=i=Math.min(il(t,e),il(t,e-r),il(t-n,e),il(t-n,e-r));else if(A.shape===Fl.ELLIPSE){var s=Math.min(Math.abs(e),Math.abs(e-r))/Math.min(Math.abs(t),Math.abs(t-n)),a=sl(n,r,t,e,!0),u=a[0],c=a[1];i=s*(o=il(u-t,(c-e)/s))}break;case _l.FARTHEST_SIDE:A.shape===Fl.CIRCLE?o=i=Math.max(Math.abs(t),Math.abs(t-n),Math.abs(e),Math.abs(e-r)):A.shape===Fl.ELLIPSE&&(o=Math.max(Math.abs(t),Math.abs(t-n)),i=Math.max(Math.abs(e),Math.abs(e-r)));break;case _l.FARTHEST_CORNER:if(A.shape===Fl.CIRCLE)o=i=Math.max(il(t,e),il(t,e-r),il(t-n,e),il(t-n,e-r));else if(A.shape===Fl.ELLIPSE){s=Math.max(Math.abs(e),Math.abs(e-r))/Math.max(Math.abs(t),Math.abs(t-n));var l=sl(n,r,t,e,!1);u=l[0],c=l[1],i=s*(o=il(u-t,(c-e)/s))}}return Array.isArray(A.size)&&(o=Tc(A.size[0],n),i=2===A.size.length?Tc(A.size[1],r):o),[o,i]}(e,F,m,C,E),H=_[0],b=_[1],H>0&&H>0&&(N=n.ctx.createRadialGradient(v+F,U+m,0,v+F,U+m,H),rl(e.stops,2*H).forEach((function(A){return N.addColorStop(A.stop,kc(A.color))})),n.path(Q),n.ctx.fillStyle=N,H!==b?(K=A.bounds.left+.5*A.bounds.width,I=A.bounds.top+.5*A.bounds.height,T=1/(O=b/H),n.ctx.save(),n.ctx.translate(K,I),n.ctx.transform(1,0,0,O,0,0),n.ctx.translate(-K,-I),n.ctx.fillRect(v,T*(U-I)+I,C,E*T),n.ctx.restore()):n.ctx.fill())),x.label=6;case 6:return t--,[2]}}))},n=this,r=0,o=A.styles.backgroundImage.slice(0).reverse(),s.label=1;case 1:return r<o.length?(i=o[r],[5,e(i)]):[3,4];case 2:s.sent(),s.label=3;case 3:return r++,[3,1];case 4:return[2]}}))}))},A.prototype.renderBorder=function(A,t,e){return xa(this,void 0,void 0,(function(){return Sa(this,(function(n){return this.path(function(A,t){switch(t){case 0:return Bp(A.topLeftBorderBox,A.topLeftPaddingBox,A.topRightBorderBox,A.topRightPaddingBox);case 1:return Bp(A.topRightBorderBox,A.topRightPaddingBox,A.bottomRightBorderBox,A.bottomRightPaddingBox);case 2:return Bp(A.bottomRightBorderBox,A.bottomRightPaddingBox,A.bottomLeftBorderBox,A.bottomLeftPaddingBox);case 3:default:return Bp(A.bottomLeftBorderBox,A.bottomLeftPaddingBox,A.topLeftBorderBox,A.topLeftPaddingBox)}}(e,t)),this.ctx.fillStyle=kc(A),this.ctx.fill(),[2]}))}))},A.prototype.renderNodeBackgroundAndBorders=function(A){return xa(this,void 0,void 0,(function(){var t,e,n,r,o,i,s,a,u=this;return Sa(this,(function(c){switch(c.label){case 0:return this.applyEffects(A.effects,2),t=A.container.styles,e=!Dc(t.backgroundColor)||t.backgroundImage.length,n=[{style:t.borderTopStyle,color:t.borderTopColor},{style:t.borderRightStyle,color:t.borderRightColor},{style:t.borderBottomStyle,color:t.borderBottomColor},{style:t.borderLeftStyle,color:t.borderLeftColor}],r=mp(Up(t.backgroundClip,0),A.curves),e||t.boxShadow.length?(this.ctx.save(),this.path(r),this.ctx.clip(),Dc(t.backgroundColor)||(this.ctx.fillStyle=kc(t.backgroundColor),this.ctx.fill()),[4,this.renderBackgroundImage(A.container)]):[3,2];case 1:c.sent(),this.ctx.restore(),t.boxShadow.slice(0).reverse().forEach((function(t){u.ctx.save();var e,n,r,o,i,s=ip(A.curves),a=t.inset?0:1e4,c=(e=s,n=-a+(t.inset?1:-1)*t.spread.number,r=(t.inset?1:-1)*t.spread.number,o=t.spread.number*(t.inset?-2:2),i=t.spread.number*(t.inset?-2:2),e.map((function(A,t){switch(t){case 0:return A.add(n,r);case 1:return A.add(n+o,r);case 2:return A.add(n+o,r+i);case 3:return A.add(n,r+i)}return A})));t.inset?(u.path(s),u.ctx.clip(),u.mask(c)):(u.mask(s),u.ctx.clip(),u.path(c)),u.ctx.shadowOffsetX=t.offsetX.number+a,u.ctx.shadowOffsetY=t.offsetY.number,u.ctx.shadowColor=kc(t.color),u.ctx.shadowBlur=t.blur.number,u.ctx.fillStyle=t.inset?kc(t.color):\"rgba(0,0,0,1)\",u.ctx.fill(),u.ctx.restore()})),c.label=2;case 2:o=0,i=0,s=n,c.label=3;case 3:return i<s.length?(a=s[i]).style===Dl.NONE||Dc(a.color)?[3,5]:[4,this.renderBorder(a.color,o,A.curves)]:[3,7];case 4:c.sent(),c.label=5;case 5:o++,c.label=6;case 6:return i++,[3,3];case 7:return[2]}}))}))},A.prototype.render=function(A){return xa(this,void 0,void 0,(function(){var t;return Sa(this,(function(e){switch(e.label){case 0:return this.options.backgroundColor&&(this.ctx.fillStyle=kc(this.options.backgroundColor),this.ctx.fillRect(this.options.x-this.options.scrollX,this.options.y-this.options.scrollY,this.options.width,this.options.height)),n=new lp(A,[]),r=new cp(n),fp(n,r,r,o=[]),hp(n.container,o),t=r,[4,this.renderStack(t)];case 1:return e.sent(),this.applyEffects([],2),[2,this.canvas]}var n,r,o}))}))},A}(),Fp=function(A){return A instanceof eB||(A instanceof tB||A instanceof AB&&\"radio\"!==A.type&&\"checkbox\"!==A.type)},mp=function(A,t){switch(A){case jc.BORDER_BOX:return ip(t);case jc.CONTENT_BOX:return function(A){return[A.topLeftContentBox,A.topRightContentBox,A.bottomRightContentBox,A.bottomLeftContentBox]}(t);case jc.PADDING_BOX:default:return sp(t)}},_p=function(A){switch(A){case Mf.CENTER:return\"center\";case Mf.RIGHT:return\"right\";case Mf.LEFT:default:return\"left\"}},Hp=function(){function A(A){this.canvas=A.canvas?A.canvas:document.createElement(\"canvas\"),this.ctx=this.canvas.getContext(\"2d\"),this.options=A,this.canvas.width=Math.floor(A.width*A.scale),this.canvas.height=Math.floor(A.height*A.scale),this.canvas.style.width=A.width+\"px\",this.canvas.style.height=A.height+\"px\",this.ctx.scale(this.options.scale,this.options.scale),this.ctx.translate(-A.x+A.scrollX,-A.y+A.scrollY),hl.getInstance(A.id).debug(\"EXPERIMENTAL ForeignObject renderer initialized (\"+A.width+\"x\"+A.height+\" at \"+A.x+\",\"+A.y+\") with scale \"+A.scale)}return A.prototype.render=function(A){return xa(this,void 0,void 0,(function(){var t,e;return Sa(this,(function(n){switch(n.label){case 0:return t=cl(Math.max(this.options.windowWidth,this.options.width)*this.options.scale,Math.max(this.options.windowHeight,this.options.height)*this.options.scale,this.options.scrollX*this.options.scale,this.options.scrollY*this.options.scale,A),[4,bp(t)];case 1:return e=n.sent(),this.options.backgroundColor&&(this.ctx.fillStyle=kc(this.options.backgroundColor),this.ctx.fillRect(0,0,this.options.width*this.options.scale,this.options.height*this.options.scale)),this.ctx.drawImage(e,-this.options.x*this.options.scale,-this.options.y*this.options.scale),[2,this.canvas]}}))}))},A}(),bp=function(A){return new Promise((function(t,e){var n=new Image;n.onload=function(){t(n)},n.onerror=e,n.src=\"data:image/svg+xml;charset=utf-8,\"+encodeURIComponent((new XMLSerializer).serializeToString(A))}))},Np=function(A){return Mc(dc.create(A).parseComponentValue())},Kp=function(A,t){return void 0===t&&(t={}),Ip(A,t)};\"undefined\"!=typeof window&&Bl.setContext(window);var Ip=function(A,t){return xa(undefined,void 0,void 0,(function(){var e,n,r,o,i,s,a,u,c,l,f,h,B,p,g,d,w,Q,v,U,C,E,y;return Sa(this,(function(F){switch(F.label){case 0:if(!(e=A.ownerDocument))throw new Error(\"Element is not attached to a Document\");if(!(n=e.defaultView))throw new Error(\"Document is not attached to a Window\");return r=(Math.round(1e3*Math.random())+Date.now()).toString(16),o=QB(A)||\"HTML\"===A.tagName?function(A){var t=A.body,e=A.documentElement;if(!t||!e)throw new Error(\"Unable to get document size\");var n=Math.max(Math.max(t.scrollWidth,e.scrollWidth),Math.max(t.offsetWidth,e.offsetWidth),Math.max(t.clientWidth,e.clientWidth)),r=Math.max(Math.max(t.scrollHeight,e.scrollHeight),Math.max(t.offsetHeight,e.offsetHeight),Math.max(t.clientHeight,e.clientHeight));return new Ra(0,0,n,r)}(e):La(A),i=o.width,s=o.height,a=o.left,u=o.top,c=Ta({},{allowTaint:!1,imageTimeout:15e3,proxy:void 0,useCORS:!1},t),l={backgroundColor:\"#ffffff\",cache:t.cache?t.cache:Bl.create(r,c),logging:!0,removeContainer:!0,foreignObjectRendering:!1,scale:n.devicePixelRatio||1,windowWidth:n.innerWidth,windowHeight:n.innerHeight,scrollX:n.pageXOffset,scrollY:n.pageYOffset,x:a,y:u,width:Math.ceil(i),height:Math.ceil(s),id:r},f=Ta({},l,c,t),h=new Ra(f.scrollX,f.scrollY,f.windowWidth,f.windowHeight),hl.create({id:r,enabled:f.logging}),hl.getInstance(r).debug(\"Starting document clone\"),B=new LB(A,{id:r,onclone:f.onclone,ignoreElements:f.ignoreElements,inlineImages:f.foreignObjectRendering,copyStyles:f.foreignObjectRendering}),(p=B.clonedReferenceElement)?[4,B.toIFrame(e,h)]:[2,Promise.reject(\"Unable to find element in cloned iframe\")];case 1:return g=F.sent(),d=e.documentElement?Np(getComputedStyle(e.documentElement).backgroundColor):$c.TRANSPARENT,w=e.body?Np(getComputedStyle(e.body).backgroundColor):$c.TRANSPARENT,Q=t.backgroundColor,v=\"string\"==typeof Q?Np(Q):null===Q?$c.TRANSPARENT:4294967295,U=A===e.documentElement?Dc(d)?Dc(w)?v:w:d:v,C={id:r,cache:f.cache,canvas:f.canvas,backgroundColor:U,scale:f.scale,x:f.x,y:f.y,scrollX:f.scrollX,scrollY:f.scrollY,width:f.width,height:f.height,windowWidth:f.windowWidth,windowHeight:f.windowHeight},f.foreignObjectRendering?(hl.getInstance(r).debug(\"Document cloned, using foreign object rendering\"),[4,new Hp(C).render(p)]):[3,3];case 2:return E=F.sent(),[3,5];case 3:return hl.getInstance(r).debug(\"Document cloned, using computed rendering\"),Bl.attachInstance(f.cache),hl.getInstance(r).debug(\"Starting DOM parsing\"),y=aB(p),Bl.detachInstance(),U===y.styles.backgroundColor&&(y.styles.backgroundColor=$c.TRANSPARENT),hl.getInstance(r).debug(\"Starting renderer\"),[4,new yp(C).render(y)];case 4:E=F.sent(),F.label=5;case 5:return!0===f.removeContainer&&(LB.destroy(g)||hl.getInstance(r).error(\"Cannot detach cloned iframe as it is not in the DOM anymore\")),hl.getInstance(r).debug(\"Finished rendering\"),hl.destroy(r),Bl.destroy(r),[2,E]}}))}))},Op=Na((function(A,t){(function(){var e,n=\"Expected a function\",r=\"__lodash_hash_undefined__\",o=\"__lodash_placeholder__\",i=16,s=32,a=64,u=128,c=256,l=1/0,f=9007199254740991,h=NaN,B=4294967295,p=[[\"ary\",u],[\"bind\",1],[\"bindKey\",2],[\"curry\",8],[\"curryRight\",i],[\"flip\",512],[\"partial\",s],[\"partialRight\",a],[\"rearg\",c]],g=\"[object Arguments]\",d=\"[object Array]\",w=\"[object Boolean]\",Q=\"[object Date]\",v=\"[object Error]\",U=\"[object Function]\",C=\"[object GeneratorFunction]\",E=\"[object Map]\",y=\"[object Number]\",F=\"[object Object]\",m=\"[object Promise]\",_=\"[object RegExp]\",H=\"[object Set]\",b=\"[object String]\",N=\"[object Symbol]\",K=\"[object WeakMap]\",I=\"[object ArrayBuffer]\",O=\"[object DataView]\",T=\"[object Float32Array]\",x=\"[object Float64Array]\",S=\"[object Int8Array]\",R=\"[object Int16Array]\",L=\"[object Int32Array]\",M=\"[object Uint8Array]\",D=\"[object Uint8ClampedArray]\",k=\"[object Uint16Array]\",P=\"[object Uint32Array]\",z=/\\b__p \\+= '';/g,V=/\\b(__p \\+=) '' \\+/g,X=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,J=/&(?:amp|lt|gt|quot|#39);/g,G=/[&<>\"']/g,j=RegExp(J.source),W=RegExp(G.source),Y=/<%-([\\s\\S]+?)%>/g,q=/<%([\\s\\S]+?)%>/g,$=/<%=([\\s\\S]+?)%>/g,Z=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,AA=/^\\w*$/,tA=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,eA=/[\\\\^$.*+?()[\\]{}|]/g,nA=RegExp(eA.source),rA=/^\\s+/,oA=/\\s/,iA=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,sA=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,aA=/,? & /,uA=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,cA=/[()=,{}\\[\\]\\/\\s]/,lA=/\\\\(\\\\)?/g,fA=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,hA=/\\w*$/,BA=/^[-+]0x[0-9a-f]+$/i,pA=/^0b[01]+$/i,gA=/^\\[object .+?Constructor\\]$/,dA=/^0o[0-7]+$/i,wA=/^(?:0|[1-9]\\d*)$/,QA=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,vA=/($^)/,UA=/['\\n\\r\\u2028\\u2029\\\\]/g,CA=\"\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\",EA=\"\\\\u2700-\\\\u27bf\",yA=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",FA=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",mA=\"\\\\ufe0e\\\\ufe0f\",_A=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\\\\u2000-\\\\u206f \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000\",HA=\"['’]\",bA=\"[\\\\ud800-\\\\udfff]\",NA=\"[\"+_A+\"]\",KA=\"[\"+CA+\"]\",IA=\"\\\\d+\",OA=\"[\\\\u2700-\\\\u27bf]\",TA=\"[\"+yA+\"]\",xA=\"[^\\\\ud800-\\\\udfff\"+_A+IA+EA+yA+FA+\"]\",SA=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",RA=\"[^\\\\ud800-\\\\udfff]\",LA=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",MA=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",DA=\"[\"+FA+\"]\",kA=\"(?:\"+TA+\"|\"+xA+\")\",PA=\"(?:\"+DA+\"|\"+xA+\")\",zA=\"(?:['’](?:d|ll|m|re|s|t|ve))?\",VA=\"(?:['’](?:D|LL|M|RE|S|T|VE))?\",XA=\"(?:\"+KA+\"|\"+SA+\")\"+\"?\",JA=\"[\\\\ufe0e\\\\ufe0f]?\",GA=JA+XA+(\"(?:\\\\u200d(?:\"+[RA,LA,MA].join(\"|\")+\")\"+JA+XA+\")*\"),jA=\"(?:\"+[OA,LA,MA].join(\"|\")+\")\"+GA,WA=\"(?:\"+[RA+KA+\"?\",KA,LA,MA,bA].join(\"|\")+\")\",YA=RegExp(HA,\"g\"),qA=RegExp(KA,\"g\"),$A=RegExp(SA+\"(?=\"+SA+\")|\"+WA+GA,\"g\"),ZA=RegExp([DA+\"?\"+TA+\"+\"+zA+\"(?=\"+[NA,DA,\"$\"].join(\"|\")+\")\",PA+\"+\"+VA+\"(?=\"+[NA,DA+kA,\"$\"].join(\"|\")+\")\",DA+\"?\"+kA+\"+\"+zA,DA+\"+\"+VA,\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",IA,jA].join(\"|\"),\"g\"),At=RegExp(\"[\\\\u200d\\\\ud800-\\\\udfff\"+CA+mA+\"]\"),tt=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,et=[\"Array\",\"Buffer\",\"DataView\",\"Date\",\"Error\",\"Float32Array\",\"Float64Array\",\"Function\",\"Int8Array\",\"Int16Array\",\"Int32Array\",\"Map\",\"Math\",\"Object\",\"Promise\",\"RegExp\",\"Set\",\"String\",\"Symbol\",\"TypeError\",\"Uint8Array\",\"Uint8ClampedArray\",\"Uint16Array\",\"Uint32Array\",\"WeakMap\",\"_\",\"clearTimeout\",\"isFinite\",\"parseInt\",\"setTimeout\"],nt=-1,rt={};rt[T]=rt[x]=rt[S]=rt[R]=rt[L]=rt[M]=rt[D]=rt[k]=rt[P]=!0,rt[g]=rt[d]=rt[I]=rt[w]=rt[O]=rt[Q]=rt[v]=rt[U]=rt[E]=rt[y]=rt[F]=rt[_]=rt[H]=rt[b]=rt[K]=!1;var ot={};ot[g]=ot[d]=ot[I]=ot[O]=ot[w]=ot[Q]=ot[T]=ot[x]=ot[S]=ot[R]=ot[L]=ot[E]=ot[y]=ot[F]=ot[_]=ot[H]=ot[b]=ot[N]=ot[M]=ot[D]=ot[k]=ot[P]=!0,ot[v]=ot[U]=ot[K]=!1;var it={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},st=parseFloat,at=parseInt,ut=\"object\"==typeof ba&&ba&&ba.Object===Object&&ba,ct=\"object\"==typeof self&&self&&self.Object===Object&&self,lt=ut||ct||Function(\"return this\")(),ft=t&&!t.nodeType&&t,ht=ft&&A&&!A.nodeType&&A,Bt=ht&&ht.exports===ft,pt=Bt&&ut.process,gt=function(){try{var A=ht&&ht.require&&ht.require(\"util\").types;return A||pt&&pt.binding&&pt.binding(\"util\")}catch(t){}}(),dt=gt&&gt.isArrayBuffer,wt=gt&&gt.isDate,Qt=gt&&gt.isMap,vt=gt&&gt.isRegExp,Ut=gt&&gt.isSet,Ct=gt&&gt.isTypedArray;function Et(A,t,e){switch(e.length){case 0:return A.call(t);case 1:return A.call(t,e[0]);case 2:return A.call(t,e[0],e[1]);case 3:return A.call(t,e[0],e[1],e[2])}return A.apply(t,e)}function yt(A,t,e,n){for(var r=-1,o=null==A?0:A.length;++r<o;){var i=A[r];t(n,i,e(i),A)}return n}function Ft(A,t){for(var e=-1,n=null==A?0:A.length;++e<n&&!1!==t(A[e],e,A););return A}function mt(A,t){for(var e=null==A?0:A.length;e--&&!1!==t(A[e],e,A););return A}function _t(A,t){for(var e=-1,n=null==A?0:A.length;++e<n;)if(!t(A[e],e,A))return!1;return!0}function Ht(A,t){for(var e=-1,n=null==A?0:A.length,r=0,o=[];++e<n;){var i=A[e];t(i,e,A)&&(o[r++]=i)}return o}function bt(A,t){return!!(null==A?0:A.length)&&Mt(A,t,0)>-1}function Nt(A,t,e){for(var n=-1,r=null==A?0:A.length;++n<r;)if(e(t,A[n]))return!0;return!1}function Kt(A,t){for(var e=-1,n=null==A?0:A.length,r=Array(n);++e<n;)r[e]=t(A[e],e,A);return r}function It(A,t){for(var e=-1,n=t.length,r=A.length;++e<n;)A[r+e]=t[e];return A}function Ot(A,t,e,n){var r=-1,o=null==A?0:A.length;for(n&&o&&(e=A[++r]);++r<o;)e=t(e,A[r],r,A);return e}function Tt(A,t,e,n){var r=null==A?0:A.length;for(n&&r&&(e=A[--r]);r--;)e=t(e,A[r],r,A);return e}function xt(A,t){for(var e=-1,n=null==A?0:A.length;++e<n;)if(t(A[e],e,A))return!0;return!1}var St=zt(\"length\");function Rt(A,t,e){var n;return e(A,(function(A,e,r){if(t(A,e,r))return n=e,!1})),n}function Lt(A,t,e,n){for(var r=A.length,o=e+(n?1:-1);n?o--:++o<r;)if(t(A[o],o,A))return o;return-1}function Mt(A,t,e){return t==t?function(A,t,e){var n=e-1,r=A.length;for(;++n<r;)if(A[n]===t)return n;return-1}(A,t,e):Lt(A,kt,e)}function Dt(A,t,e,n){for(var r=e-1,o=A.length;++r<o;)if(n(A[r],t))return r;return-1}function kt(A){return A!=A}function Pt(A,t){var e=null==A?0:A.length;return e?Jt(A,t)/e:h}function zt(A){return function(t){return null==t?e:t[A]}}function Vt(A){return function(t){return null==A?e:A[t]}}function Xt(A,t,e,n,r){return r(A,(function(A,r,o){e=n?(n=!1,A):t(e,A,r,o)})),e}function Jt(A,t){for(var n,r=-1,o=A.length;++r<o;){var i=t(A[r]);i!==e&&(n=n===e?i:n+i)}return n}function Gt(A,t){for(var e=-1,n=Array(A);++e<A;)n[e]=t(e);return n}function jt(A){return A?A.slice(0,le(A)+1).replace(rA,\"\"):A}function Wt(A){return function(t){return A(t)}}function Yt(A,t){return Kt(t,(function(t){return A[t]}))}function qt(A,t){return A.has(t)}function $t(A,t){for(var e=-1,n=A.length;++e<n&&Mt(t,A[e],0)>-1;);return e}function Zt(A,t){for(var e=A.length;e--&&Mt(t,A[e],0)>-1;);return e}function Ae(A,t){for(var e=A.length,n=0;e--;)A[e]===t&&++n;return n}var te=Vt({\"À\":\"A\",\"Á\":\"A\",\"Â\":\"A\",\"Ã\":\"A\",\"Ä\":\"A\",\"Å\":\"A\",\"à\":\"a\",\"á\":\"a\",\"â\":\"a\",\"ã\":\"a\",\"ä\":\"a\",\"å\":\"a\",\"Ç\":\"C\",\"ç\":\"c\",\"Ð\":\"D\",\"ð\":\"d\",\"È\":\"E\",\"É\":\"E\",\"Ê\":\"E\",\"Ë\":\"E\",\"è\":\"e\",\"é\":\"e\",\"ê\":\"e\",\"ë\":\"e\",\"Ì\":\"I\",\"Í\":\"I\",\"Î\":\"I\",\"Ï\":\"I\",\"ì\":\"i\",\"í\":\"i\",\"î\":\"i\",\"ï\":\"i\",\"Ñ\":\"N\",\"ñ\":\"n\",\"Ò\":\"O\",\"Ó\":\"O\",\"Ô\":\"O\",\"Õ\":\"O\",\"Ö\":\"O\",\"Ø\":\"O\",\"ò\":\"o\",\"ó\":\"o\",\"ô\":\"o\",\"õ\":\"o\",\"ö\":\"o\",\"ø\":\"o\",\"Ù\":\"U\",\"Ú\":\"U\",\"Û\":\"U\",\"Ü\":\"U\",\"ù\":\"u\",\"ú\":\"u\",\"û\":\"u\",\"ü\":\"u\",\"Ý\":\"Y\",\"ý\":\"y\",\"ÿ\":\"y\",\"Æ\":\"Ae\",\"æ\":\"ae\",\"Þ\":\"Th\",\"þ\":\"th\",\"ß\":\"ss\",\"Ā\":\"A\",\"Ă\":\"A\",\"Ą\":\"A\",\"ā\":\"a\",\"ă\":\"a\",\"ą\":\"a\",\"Ć\":\"C\",\"Ĉ\":\"C\",\"Ċ\":\"C\",\"Č\":\"C\",\"ć\":\"c\",\"ĉ\":\"c\",\"ċ\":\"c\",\"č\":\"c\",\"Ď\":\"D\",\"Đ\":\"D\",\"ď\":\"d\",\"đ\":\"d\",\"Ē\":\"E\",\"Ĕ\":\"E\",\"Ė\":\"E\",\"Ę\":\"E\",\"Ě\":\"E\",\"ē\":\"e\",\"ĕ\":\"e\",\"ė\":\"e\",\"ę\":\"e\",\"ě\":\"e\",\"Ĝ\":\"G\",\"Ğ\":\"G\",\"Ġ\":\"G\",\"Ģ\":\"G\",\"ĝ\":\"g\",\"ğ\":\"g\",\"ġ\":\"g\",\"ģ\":\"g\",\"Ĥ\":\"H\",\"Ħ\":\"H\",\"ĥ\":\"h\",\"ħ\":\"h\",\"Ĩ\":\"I\",\"Ī\":\"I\",\"Ĭ\":\"I\",\"Į\":\"I\",\"İ\":\"I\",\"ĩ\":\"i\",\"ī\":\"i\",\"ĭ\":\"i\",\"į\":\"i\",\"ı\":\"i\",\"Ĵ\":\"J\",\"ĵ\":\"j\",\"Ķ\":\"K\",\"ķ\":\"k\",\"ĸ\":\"k\",\"Ĺ\":\"L\",\"Ļ\":\"L\",\"Ľ\":\"L\",\"Ŀ\":\"L\",\"Ł\":\"L\",\"ĺ\":\"l\",\"ļ\":\"l\",\"ľ\":\"l\",\"ŀ\":\"l\",\"ł\":\"l\",\"Ń\":\"N\",\"Ņ\":\"N\",\"Ň\":\"N\",\"Ŋ\":\"N\",\"ń\":\"n\",\"ņ\":\"n\",\"ň\":\"n\",\"ŋ\":\"n\",\"Ō\":\"O\",\"Ŏ\":\"O\",\"Ő\":\"O\",\"ō\":\"o\",\"ŏ\":\"o\",\"ő\":\"o\",\"Ŕ\":\"R\",\"Ŗ\":\"R\",\"Ř\":\"R\",\"ŕ\":\"r\",\"ŗ\":\"r\",\"ř\":\"r\",\"Ś\":\"S\",\"Ŝ\":\"S\",\"Ş\":\"S\",\"Š\":\"S\",\"ś\":\"s\",\"ŝ\":\"s\",\"ş\":\"s\",\"š\":\"s\",\"Ţ\":\"T\",\"Ť\":\"T\",\"Ŧ\":\"T\",\"ţ\":\"t\",\"ť\":\"t\",\"ŧ\":\"t\",\"Ũ\":\"U\",\"Ū\":\"U\",\"Ŭ\":\"U\",\"Ů\":\"U\",\"Ű\":\"U\",\"Ų\":\"U\",\"ũ\":\"u\",\"ū\":\"u\",\"ŭ\":\"u\",\"ů\":\"u\",\"ű\":\"u\",\"ų\":\"u\",\"Ŵ\":\"W\",\"ŵ\":\"w\",\"Ŷ\":\"Y\",\"ŷ\":\"y\",\"Ÿ\":\"Y\",\"Ź\":\"Z\",\"Ż\":\"Z\",\"Ž\":\"Z\",\"ź\":\"z\",\"ż\":\"z\",\"ž\":\"z\",\"Ĳ\":\"IJ\",\"ĳ\":\"ij\",\"Œ\":\"Oe\",\"œ\":\"oe\",\"ŉ\":\"'n\",\"ſ\":\"s\"}),ee=Vt({\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\"});function ne(A){return\"\\\\\"+it[A]}function re(A){return At.test(A)}function oe(A){var t=-1,e=Array(A.size);return A.forEach((function(A,n){e[++t]=[n,A]})),e}function ie(A,t){return function(e){return A(t(e))}}function se(A,t){for(var e=-1,n=A.length,r=0,i=[];++e<n;){var s=A[e];s!==t&&s!==o||(A[e]=o,i[r++]=e)}return i}function ae(A){var t=-1,e=Array(A.size);return A.forEach((function(A){e[++t]=A})),e}function ue(A){return re(A)?function(A){var t=$A.lastIndex=0;for(;$A.test(A);)++t;return t}(A):St(A)}function ce(A){return re(A)?function(A){return A.match($A)||[]}(A):function(A){return A.split(\"\")}(A)}function le(A){for(var t=A.length;t--&&oA.test(A.charAt(t)););return t}var fe=Vt({\"&amp;\":\"&\",\"&lt;\":\"<\",\"&gt;\":\">\",\"&quot;\":'\"',\"&#39;\":\"'\"});var he=function A(t){var oA,CA=(t=null==t?lt:he.defaults(lt.Object(),t,he.pick(lt,et))).Array,EA=t.Date,yA=t.Error,FA=t.Function,mA=t.Math,_A=t.Object,HA=t.RegExp,bA=t.String,NA=t.TypeError,KA=CA.prototype,IA=FA.prototype,OA=_A.prototype,TA=t[\"__core-js_shared__\"],xA=IA.toString,SA=OA.hasOwnProperty,RA=0,LA=(oA=/[^.]+$/.exec(TA&&TA.keys&&TA.keys.IE_PROTO||\"\"))?\"Symbol(src)_1.\"+oA:\"\",MA=OA.toString,DA=xA.call(_A),kA=lt._,PA=HA(\"^\"+xA.call(SA).replace(eA,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),zA=Bt?t.Buffer:e,VA=t.Symbol,XA=t.Uint8Array,JA=zA?zA.allocUnsafe:e,GA=ie(_A.getPrototypeOf,_A),jA=_A.create,WA=OA.propertyIsEnumerable,$A=KA.splice,At=VA?VA.isConcatSpreadable:e,it=VA?VA.iterator:e,ut=VA?VA.toStringTag:e,ct=function(){try{var A=fo(_A,\"defineProperty\");return A({},\"\",{}),A}catch(t){}}(),ft=t.clearTimeout!==lt.clearTimeout&&t.clearTimeout,ht=EA&&EA.now!==lt.Date.now&&EA.now,pt=t.setTimeout!==lt.setTimeout&&t.setTimeout,gt=mA.ceil,St=mA.floor,Vt=_A.getOwnPropertySymbols,Be=zA?zA.isBuffer:e,pe=t.isFinite,ge=KA.join,de=ie(_A.keys,_A),we=mA.max,Qe=mA.min,ve=EA.now,Ue=t.parseInt,Ce=mA.random,Ee=KA.reverse,ye=fo(t,\"DataView\"),Fe=fo(t,\"Map\"),me=fo(t,\"Promise\"),_e=fo(t,\"Set\"),He=fo(t,\"WeakMap\"),be=fo(_A,\"create\"),Ne=He&&new He,Ke={},Ie=zo(ye),Oe=zo(Fe),Te=zo(me),xe=zo(_e),Se=zo(He),Re=VA?VA.prototype:e,Le=Re?Re.valueOf:e,Me=Re?Re.toString:e;function De(A){if(is(A)&&!Wi(A)&&!(A instanceof Ve)){if(A instanceof ze)return A;if(SA.call(A,\"__wrapped__\"))return Vo(A)}return new ze(A)}var ke=function(){function A(){}return function(t){if(!os(t))return{};if(jA)return jA(t);A.prototype=t;var n=new A;return A.prototype=e,n}}();function Pe(){}function ze(A,t){this.__wrapped__=A,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=e}function Ve(A){this.__wrapped__=A,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=B,this.__views__=[]}function Xe(A){var t=-1,e=null==A?0:A.length;for(this.clear();++t<e;){var n=A[t];this.set(n[0],n[1])}}function Je(A){var t=-1,e=null==A?0:A.length;for(this.clear();++t<e;){var n=A[t];this.set(n[0],n[1])}}function Ge(A){var t=-1,e=null==A?0:A.length;for(this.clear();++t<e;){var n=A[t];this.set(n[0],n[1])}}function je(A){var t=-1,e=null==A?0:A.length;for(this.__data__=new Ge;++t<e;)this.add(A[t])}function We(A){var t=this.__data__=new Je(A);this.size=t.size}function Ye(A,t){var e=Wi(A),n=!e&&ji(A),r=!e&&!n&&Zi(A),o=!e&&!n&&!r&&Bs(A),i=e||n||r||o,s=i?Gt(A.length,bA):[],a=s.length;for(var u in A)!t&&!SA.call(A,u)||i&&(\"length\"==u||r&&(\"offset\"==u||\"parent\"==u)||o&&(\"buffer\"==u||\"byteLength\"==u||\"byteOffset\"==u)||vo(u,a))||s.push(u);return s}function qe(A){var t=A.length;return t?A[Wn(0,t-1)]:e}function $e(A,t){return Ro(Nr(A),an(t,0,A.length))}function Ze(A){return Ro(Nr(A))}function An(A,t,n){(n!==e&&!Xi(A[t],n)||n===e&&!(t in A))&&on(A,t,n)}function tn(A,t,n){var r=A[t];SA.call(A,t)&&Xi(r,n)&&(n!==e||t in A)||on(A,t,n)}function en(A,t){for(var e=A.length;e--;)if(Xi(A[e][0],t))return e;return-1}function nn(A,t,e,n){return hn(A,(function(A,r,o){t(n,A,e(A),o)})),n}function rn(A,t){return A&&Kr(t,Ss(t),A)}function on(A,t,e){\"__proto__\"==t&&ct?ct(A,t,{configurable:!0,enumerable:!0,value:e,writable:!0}):A[t]=e}function sn(A,t){for(var n=-1,r=t.length,o=CA(r),i=null==A;++n<r;)o[n]=i?e:Ks(A,t[n]);return o}function an(A,t,n){return A==A&&(n!==e&&(A=A<=n?A:n),t!==e&&(A=A>=t?A:t)),A}function un(A,t,n,r,o,i){var s,a=1&t,u=2&t,c=4&t;if(n&&(s=o?n(A,r,o,i):n(A)),s!==e)return s;if(!os(A))return A;var l=Wi(A);if(l){if(s=function(A){var t=A.length,e=new A.constructor(t);t&&\"string\"==typeof A[0]&&SA.call(A,\"index\")&&(e.index=A.index,e.input=A.input);return e}(A),!a)return Nr(A,s)}else{var f=po(A),h=f==U||f==C;if(Zi(A))return yr(A,a);if(f==F||f==g||h&&!o){if(s=u||h?{}:wo(A),!a)return u?function(A,t){return Kr(A,Bo(A),t)}(A,function(A,t){return A&&Kr(t,Rs(t),A)}(s,A)):function(A,t){return Kr(A,ho(A),t)}(A,rn(s,A))}else{if(!ot[f])return o?A:{};s=function(A,t,e){var n=A.constructor;switch(t){case I:return Fr(A);case w:case Q:return new n(+A);case O:return function(A,t){var e=t?Fr(A.buffer):A.buffer;return new A.constructor(e,A.byteOffset,A.byteLength)}(A,e);case T:case x:case S:case R:case L:case M:case D:case k:case P:return mr(A,e);case E:return new n;case y:case b:return new n(A);case _:return function(A){var t=new A.constructor(A.source,hA.exec(A));return t.lastIndex=A.lastIndex,t}(A);case H:return new n;case N:return r=A,Le?_A(Le.call(r)):{}}var r}(A,f,a)}}i||(i=new We);var B=i.get(A);if(B)return B;i.set(A,s),ls(A)?A.forEach((function(e){s.add(un(e,t,n,e,A,i))})):ss(A)&&A.forEach((function(e,r){s.set(r,un(e,t,n,r,A,i))}));var p=l?e:(c?u?oo:ro:u?Rs:Ss)(A);return Ft(p||A,(function(e,r){p&&(e=A[r=e]),tn(s,r,un(e,t,n,r,A,i))})),s}function cn(A,t,n){var r=n.length;if(null==A)return!r;for(A=_A(A);r--;){var o=n[r],i=t[o],s=A[o];if(s===e&&!(o in A)||!i(s))return!1}return!0}function ln(A,t,r){if(\"function\"!=typeof A)throw new NA(n);return Oo((function(){A.apply(e,r)}),t)}function fn(A,t,e,n){var r=-1,o=bt,i=!0,s=A.length,a=[],u=t.length;if(!s)return a;e&&(t=Kt(t,Wt(e))),n?(o=Nt,i=!1):t.length>=200&&(o=qt,i=!1,t=new je(t));A:for(;++r<s;){var c=A[r],l=null==e?c:e(c);if(c=n||0!==c?c:0,i&&l==l){for(var f=u;f--;)if(t[f]===l)continue A;a.push(c)}else o(t,l,n)||a.push(c)}return a}De.templateSettings={escape:Y,evaluate:q,interpolate:$,variable:\"\",imports:{_:De}},De.prototype=Pe.prototype,De.prototype.constructor=De,ze.prototype=ke(Pe.prototype),ze.prototype.constructor=ze,Ve.prototype=ke(Pe.prototype),Ve.prototype.constructor=Ve,Xe.prototype.clear=function(){this.__data__=be?be(null):{},this.size=0},Xe.prototype.delete=function(A){var t=this.has(A)&&delete this.__data__[A];return this.size-=t?1:0,t},Xe.prototype.get=function(A){var t=this.__data__;if(be){var n=t[A];return n===r?e:n}return SA.call(t,A)?t[A]:e},Xe.prototype.has=function(A){var t=this.__data__;return be?t[A]!==e:SA.call(t,A)},Xe.prototype.set=function(A,t){var n=this.__data__;return this.size+=this.has(A)?0:1,n[A]=be&&t===e?r:t,this},Je.prototype.clear=function(){this.__data__=[],this.size=0},Je.prototype.delete=function(A){var t=this.__data__,e=en(t,A);return!(e<0)&&(e==t.length-1?t.pop():$A.call(t,e,1),--this.size,!0)},Je.prototype.get=function(A){var t=this.__data__,n=en(t,A);return n<0?e:t[n][1]},Je.prototype.has=function(A){return en(this.__data__,A)>-1},Je.prototype.set=function(A,t){var e=this.__data__,n=en(e,A);return n<0?(++this.size,e.push([A,t])):e[n][1]=t,this},Ge.prototype.clear=function(){this.size=0,this.__data__={hash:new Xe,map:new(Fe||Je),string:new Xe}},Ge.prototype.delete=function(A){var t=co(this,A).delete(A);return this.size-=t?1:0,t},Ge.prototype.get=function(A){return co(this,A).get(A)},Ge.prototype.has=function(A){return co(this,A).has(A)},Ge.prototype.set=function(A,t){var e=co(this,A),n=e.size;return e.set(A,t),this.size+=e.size==n?0:1,this},je.prototype.add=je.prototype.push=function(A){return this.__data__.set(A,r),this},je.prototype.has=function(A){return this.__data__.has(A)},We.prototype.clear=function(){this.__data__=new Je,this.size=0},We.prototype.delete=function(A){var t=this.__data__,e=t.delete(A);return this.size=t.size,e},We.prototype.get=function(A){return this.__data__.get(A)},We.prototype.has=function(A){return this.__data__.has(A)},We.prototype.set=function(A,t){var e=this.__data__;if(e instanceof Je){var n=e.__data__;if(!Fe||n.length<199)return n.push([A,t]),this.size=++e.size,this;e=this.__data__=new Ge(n)}return e.set(A,t),this.size=e.size,this};var hn=Tr(Un),Bn=Tr(Cn,!0);function pn(A,t){var e=!0;return hn(A,(function(A,n,r){return e=!!t(A,n,r)})),e}function gn(A,t,n){for(var r=-1,o=A.length;++r<o;){var i=A[r],s=t(i);if(null!=s&&(a===e?s==s&&!hs(s):n(s,a)))var a=s,u=i}return u}function dn(A,t){var e=[];return hn(A,(function(A,n,r){t(A,n,r)&&e.push(A)})),e}function wn(A,t,e,n,r){var o=-1,i=A.length;for(e||(e=Qo),r||(r=[]);++o<i;){var s=A[o];t>0&&e(s)?t>1?wn(s,t-1,e,n,r):It(r,s):n||(r[r.length]=s)}return r}var Qn=xr(),vn=xr(!0);function Un(A,t){return A&&Qn(A,t,Ss)}function Cn(A,t){return A&&vn(A,t,Ss)}function En(A,t){return Ht(t,(function(t){return es(A[t])}))}function yn(A,t){for(var n=0,r=(t=vr(t,A)).length;null!=A&&n<r;)A=A[Po(t[n++])];return n&&n==r?A:e}function Fn(A,t,e){var n=t(A);return Wi(A)?n:It(n,e(A))}function mn(A){return null==A?A===e?\"[object Undefined]\":\"[object Null]\":ut&&ut in _A(A)?function(A){var t=SA.call(A,ut),n=A[ut];try{A[ut]=e;var r=!0}catch(i){}var o=MA.call(A);r&&(t?A[ut]=n:delete A[ut]);return o}(A):function(A){return MA.call(A)}(A)}function _n(A,t){return A>t}function Hn(A,t){return null!=A&&SA.call(A,t)}function bn(A,t){return null!=A&&t in _A(A)}function Nn(A,t,n){for(var r=n?Nt:bt,o=A[0].length,i=A.length,s=i,a=CA(i),u=1/0,c=[];s--;){var l=A[s];s&&t&&(l=Kt(l,Wt(t))),u=Qe(l.length,u),a[s]=!n&&(t||o>=120&&l.length>=120)?new je(s&&l):e}l=A[0];var f=-1,h=a[0];A:for(;++f<o&&c.length<u;){var B=l[f],p=t?t(B):B;if(B=n||0!==B?B:0,!(h?qt(h,p):r(c,p,n))){for(s=i;--s;){var g=a[s];if(!(g?qt(g,p):r(A[s],p,n)))continue A}h&&h.push(p),c.push(B)}}return c}function Kn(A,t,n){var r=null==(A=bo(A,t=vr(t,A)))?A:A[Po(ti(t))];return null==r?e:Et(r,A,n)}function In(A){return is(A)&&mn(A)==g}function On(A,t,n,r,o){return A===t||(null==A||null==t||!is(A)&&!is(t)?A!=A&&t!=t:function(A,t,n,r,o,i){var s=Wi(A),a=Wi(t),u=s?d:po(A),c=a?d:po(t),l=(u=u==g?F:u)==F,f=(c=c==g?F:c)==F,h=u==c;if(h&&Zi(A)){if(!Zi(t))return!1;s=!0,l=!1}if(h&&!l)return i||(i=new We),s||Bs(A)?eo(A,t,n,r,o,i):function(A,t,e,n,r,o,i){switch(e){case O:if(A.byteLength!=t.byteLength||A.byteOffset!=t.byteOffset)return!1;A=A.buffer,t=t.buffer;case I:return!(A.byteLength!=t.byteLength||!o(new XA(A),new XA(t)));case w:case Q:case y:return Xi(+A,+t);case v:return A.name==t.name&&A.message==t.message;case _:case b:return A==t+\"\";case E:var s=oe;case H:var a=1&n;if(s||(s=ae),A.size!=t.size&&!a)return!1;var u=i.get(A);if(u)return u==t;n|=2,i.set(A,t);var c=eo(s(A),s(t),n,r,o,i);return i.delete(A),c;case N:if(Le)return Le.call(A)==Le.call(t)}return!1}(A,t,u,n,r,o,i);if(!(1&n)){var B=l&&SA.call(A,\"__wrapped__\"),p=f&&SA.call(t,\"__wrapped__\");if(B||p){var U=B?A.value():A,C=p?t.value():t;return i||(i=new We),o(U,C,n,r,i)}}if(!h)return!1;return i||(i=new We),function(A,t,n,r,o,i){var s=1&n,a=ro(A),u=a.length,c=ro(t).length;if(u!=c&&!s)return!1;var l=u;for(;l--;){var f=a[l];if(!(s?f in t:SA.call(t,f)))return!1}var h=i.get(A),B=i.get(t);if(h&&B)return h==t&&B==A;var p=!0;i.set(A,t),i.set(t,A);var g=s;for(;++l<u;){var d=A[f=a[l]],w=t[f];if(r)var Q=s?r(w,d,f,t,A,i):r(d,w,f,A,t,i);if(!(Q===e?d===w||o(d,w,n,r,i):Q)){p=!1;break}g||(g=\"constructor\"==f)}if(p&&!g){var v=A.constructor,U=t.constructor;v==U||!(\"constructor\"in A)||!(\"constructor\"in t)||\"function\"==typeof v&&v instanceof v&&\"function\"==typeof U&&U instanceof U||(p=!1)}return i.delete(A),i.delete(t),p}(A,t,n,r,o,i)}(A,t,n,r,On,o))}function Tn(A,t,n,r){var o=n.length,i=o,s=!r;if(null==A)return!i;for(A=_A(A);o--;){var a=n[o];if(s&&a[2]?a[1]!==A[a[0]]:!(a[0]in A))return!1}for(;++o<i;){var u=(a=n[o])[0],c=A[u],l=a[1];if(s&&a[2]){if(c===e&&!(u in A))return!1}else{var f=new We;if(r)var h=r(c,l,u,A,t,f);if(!(h===e?On(l,c,3,r,f):h))return!1}}return!0}function xn(A){return!(!os(A)||(t=A,LA&&LA in t))&&(es(A)?PA:gA).test(zo(A));var t}function Sn(A){return\"function\"==typeof A?A:null==A?aa:\"object\"==typeof A?Wi(A)?Pn(A[0],A[1]):kn(A):da(A)}function Rn(A){if(!Fo(A))return de(A);var t=[];for(var e in _A(A))SA.call(A,e)&&\"constructor\"!=e&&t.push(e);return t}function Ln(A){if(!os(A))return function(A){var t=[];if(null!=A)for(var e in _A(A))t.push(e);return t}(A);var t=Fo(A),e=[];for(var n in A)(\"constructor\"!=n||!t&&SA.call(A,n))&&e.push(n);return e}function Mn(A,t){return A<t}function Dn(A,t){var e=-1,n=qi(A)?CA(A.length):[];return hn(A,(function(A,r,o){n[++e]=t(A,r,o)})),n}function kn(A){var t=lo(A);return 1==t.length&&t[0][2]?_o(t[0][0],t[0][1]):function(e){return e===A||Tn(e,A,t)}}function Pn(A,t){return Co(A)&&mo(t)?_o(Po(A),t):function(n){var r=Ks(n,A);return r===e&&r===t?Is(n,A):On(t,r,3)}}function zn(A,t,n,r,o){A!==t&&Qn(t,(function(i,s){if(o||(o=new We),os(i))!function(A,t,n,r,o,i,s){var a=Ko(A,n),u=Ko(t,n),c=s.get(u);if(c)return void An(A,n,c);var l=i?i(a,u,n+\"\",A,t,s):e,f=l===e;if(f){var h=Wi(u),B=!h&&Zi(u),p=!h&&!B&&Bs(u);l=u,h||B||p?Wi(a)?l=a:$i(a)?l=Nr(a):B?(f=!1,l=yr(u,!0)):p?(f=!1,l=mr(u,!0)):l=[]:us(u)||ji(u)?(l=a,ji(a)?l=Cs(a):os(a)&&!es(a)||(l=wo(u))):f=!1}f&&(s.set(u,l),o(l,u,r,i,s),s.delete(u));An(A,n,l)}(A,t,s,n,zn,r,o);else{var a=r?r(Ko(A,s),i,s+\"\",A,t,o):e;a===e&&(a=i),An(A,s,a)}}),Rs)}function Vn(A,t){var n=A.length;if(n)return vo(t+=t<0?n:0,n)?A[t]:e}function Xn(A,t,e){t=t.length?Kt(t,(function(A){return Wi(A)?function(t){return yn(t,1===A.length?A[0]:A)}:A})):[aa];var n=-1;return t=Kt(t,Wt(uo())),function(A,t){var e=A.length;for(A.sort(t);e--;)A[e]=A[e].value;return A}(Dn(A,(function(A,e,r){return{criteria:Kt(t,(function(t){return t(A)})),index:++n,value:A}})),(function(A,t){return function(A,t,e){var n=-1,r=A.criteria,o=t.criteria,i=r.length,s=e.length;for(;++n<i;){var a=_r(r[n],o[n]);if(a)return n>=s?a:a*(\"desc\"==e[n]?-1:1)}return A.index-t.index}(A,t,e)}))}function Jn(A,t,e){for(var n=-1,r=t.length,o={};++n<r;){var i=t[n],s=yn(A,i);e(s,i)&&Ar(o,vr(i,A),s)}return o}function Gn(A,t,e,n){var r=n?Dt:Mt,o=-1,i=t.length,s=A;for(A===t&&(t=Nr(t)),e&&(s=Kt(A,Wt(e)));++o<i;)for(var a=0,u=t[o],c=e?e(u):u;(a=r(s,c,a,n))>-1;)s!==A&&$A.call(s,a,1),$A.call(A,a,1);return A}function jn(A,t){for(var e=A?t.length:0,n=e-1;e--;){var r=t[e];if(e==n||r!==o){var o=r;vo(r)?$A.call(A,r,1):fr(A,r)}}return A}function Wn(A,t){return A+St(Ce()*(t-A+1))}function Yn(A,t){var e=\"\";if(!A||t<1||t>f)return e;do{t%2&&(e+=A),(t=St(t/2))&&(A+=A)}while(t);return e}function qn(A,t){return To(Ho(A,t,aa),A+\"\")}function $n(A){return qe(Xs(A))}function Zn(A,t){var e=Xs(A);return Ro(e,an(t,0,e.length))}function Ar(A,t,n,r){if(!os(A))return A;for(var o=-1,i=(t=vr(t,A)).length,s=i-1,a=A;null!=a&&++o<i;){var u=Po(t[o]),c=n;if(\"__proto__\"===u||\"constructor\"===u||\"prototype\"===u)return A;if(o!=s){var l=a[u];(c=r?r(l,u,a):e)===e&&(c=os(l)?l:vo(t[o+1])?[]:{})}tn(a,u,c),a=a[u]}return A}var tr=Ne?function(A,t){return Ne.set(A,t),A}:aa,er=ct?function(A,t){return ct(A,\"toString\",{configurable:!0,enumerable:!1,value:oa(t),writable:!0})}:aa;function nr(A){return Ro(Xs(A))}function rr(A,t,e){var n=-1,r=A.length;t<0&&(t=-t>r?0:r+t),(e=e>r?r:e)<0&&(e+=r),r=t>e?0:e-t>>>0,t>>>=0;for(var o=CA(r);++n<r;)o[n]=A[n+t];return o}function or(A,t){var e;return hn(A,(function(A,n,r){return!(e=t(A,n,r))})),!!e}function ir(A,t,e){var n=0,r=null==A?n:A.length;if(\"number\"==typeof t&&t==t&&r<=2147483647){for(;n<r;){var o=n+r>>>1,i=A[o];null!==i&&!hs(i)&&(e?i<=t:i<t)?n=o+1:r=o}return r}return sr(A,t,aa,e)}function sr(A,t,n,r){var o=0,i=null==A?0:A.length;if(0===i)return 0;for(var s=(t=n(t))!=t,a=null===t,u=hs(t),c=t===e;o<i;){var l=St((o+i)/2),f=n(A[l]),h=f!==e,B=null===f,p=f==f,g=hs(f);if(s)var d=r||p;else d=c?p&&(r||h):a?p&&h&&(r||!B):u?p&&h&&!B&&(r||!g):!B&&!g&&(r?f<=t:f<t);d?o=l+1:i=l}return Qe(i,4294967294)}function ar(A,t){for(var e=-1,n=A.length,r=0,o=[];++e<n;){var i=A[e],s=t?t(i):i;if(!e||!Xi(s,a)){var a=s;o[r++]=0===i?0:i}}return o}function ur(A){return\"number\"==typeof A?A:hs(A)?h:+A}function cr(A){if(\"string\"==typeof A)return A;if(Wi(A))return Kt(A,cr)+\"\";if(hs(A))return Me?Me.call(A):\"\";var t=A+\"\";return\"0\"==t&&1/A==-1/0?\"-0\":t}function lr(A,t,e){var n=-1,r=bt,o=A.length,i=!0,s=[],a=s;if(e)i=!1,r=Nt;else if(o>=200){var u=t?null:Yr(A);if(u)return ae(u);i=!1,r=qt,a=new je}else a=t?[]:s;A:for(;++n<o;){var c=A[n],l=t?t(c):c;if(c=e||0!==c?c:0,i&&l==l){for(var f=a.length;f--;)if(a[f]===l)continue A;t&&a.push(l),s.push(c)}else r(a,l,e)||(a!==s&&a.push(l),s.push(c))}return s}function fr(A,t){return null==(A=bo(A,t=vr(t,A)))||delete A[Po(ti(t))]}function hr(A,t,e,n){return Ar(A,t,e(yn(A,t)),n)}function Br(A,t,e,n){for(var r=A.length,o=n?r:-1;(n?o--:++o<r)&&t(A[o],o,A););return e?rr(A,n?0:o,n?o+1:r):rr(A,n?o+1:0,n?r:o)}function pr(A,t){var e=A;return e instanceof Ve&&(e=e.value()),Ot(t,(function(A,t){return t.func.apply(t.thisArg,It([A],t.args))}),e)}function gr(A,t,e){var n=A.length;if(n<2)return n?lr(A[0]):[];for(var r=-1,o=CA(n);++r<n;)for(var i=A[r],s=-1;++s<n;)s!=r&&(o[r]=fn(o[r]||i,A[s],t,e));return lr(wn(o,1),t,e)}function dr(A,t,n){for(var r=-1,o=A.length,i=t.length,s={};++r<o;){var a=r<i?t[r]:e;n(s,A[r],a)}return s}function wr(A){return $i(A)?A:[]}function Qr(A){return\"function\"==typeof A?A:aa}function vr(A,t){return Wi(A)?A:Co(A,t)?[A]:ko(Es(A))}var Ur=qn;function Cr(A,t,n){var r=A.length;return n=n===e?r:n,!t&&n>=r?A:rr(A,t,n)}var Er=ft||function(A){return lt.clearTimeout(A)};function yr(A,t){if(t)return A.slice();var e=A.length,n=JA?JA(e):new A.constructor(e);return A.copy(n),n}function Fr(A){var t=new A.constructor(A.byteLength);return new XA(t).set(new XA(A)),t}function mr(A,t){var e=t?Fr(A.buffer):A.buffer;return new A.constructor(e,A.byteOffset,A.length)}function _r(A,t){if(A!==t){var n=A!==e,r=null===A,o=A==A,i=hs(A),s=t!==e,a=null===t,u=t==t,c=hs(t);if(!a&&!c&&!i&&A>t||i&&s&&u&&!a&&!c||r&&s&&u||!n&&u||!o)return 1;if(!r&&!i&&!c&&A<t||c&&n&&o&&!r&&!i||a&&n&&o||!s&&o||!u)return-1}return 0}function Hr(A,t,e,n){for(var r=-1,o=A.length,i=e.length,s=-1,a=t.length,u=we(o-i,0),c=CA(a+u),l=!n;++s<a;)c[s]=t[s];for(;++r<i;)(l||r<o)&&(c[e[r]]=A[r]);for(;u--;)c[s++]=A[r++];return c}function br(A,t,e,n){for(var r=-1,o=A.length,i=-1,s=e.length,a=-1,u=t.length,c=we(o-s,0),l=CA(c+u),f=!n;++r<c;)l[r]=A[r];for(var h=r;++a<u;)l[h+a]=t[a];for(;++i<s;)(f||r<o)&&(l[h+e[i]]=A[r++]);return l}function Nr(A,t){var e=-1,n=A.length;for(t||(t=CA(n));++e<n;)t[e]=A[e];return t}function Kr(A,t,n,r){var o=!n;n||(n={});for(var i=-1,s=t.length;++i<s;){var a=t[i],u=r?r(n[a],A[a],a,n,A):e;u===e&&(u=A[a]),o?on(n,a,u):tn(n,a,u)}return n}function Ir(A,t){return function(e,n){var r=Wi(e)?yt:nn,o=t?t():{};return r(e,A,uo(n,2),o)}}function Or(A){return qn((function(t,n){var r=-1,o=n.length,i=o>1?n[o-1]:e,s=o>2?n[2]:e;for(i=A.length>3&&\"function\"==typeof i?(o--,i):e,s&&Uo(n[0],n[1],s)&&(i=o<3?e:i,o=1),t=_A(t);++r<o;){var a=n[r];a&&A(t,a,r,i)}return t}))}function Tr(A,t){return function(e,n){if(null==e)return e;if(!qi(e))return A(e,n);for(var r=e.length,o=t?r:-1,i=_A(e);(t?o--:++o<r)&&!1!==n(i[o],o,i););return e}}function xr(A){return function(t,e,n){for(var r=-1,o=_A(t),i=n(t),s=i.length;s--;){var a=i[A?s:++r];if(!1===e(o[a],a,o))break}return t}}function Sr(A){return function(t){var n=re(t=Es(t))?ce(t):e,r=n?n[0]:t.charAt(0),o=n?Cr(n,1).join(\"\"):t.slice(1);return r[A]()+o}}function Rr(A){return function(t){return Ot(ea(js(t).replace(YA,\"\")),A,\"\")}}function Lr(A){return function(){var t=arguments;switch(t.length){case 0:return new A;case 1:return new A(t[0]);case 2:return new A(t[0],t[1]);case 3:return new A(t[0],t[1],t[2]);case 4:return new A(t[0],t[1],t[2],t[3]);case 5:return new A(t[0],t[1],t[2],t[3],t[4]);case 6:return new A(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new A(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var e=ke(A.prototype),n=A.apply(e,t);return os(n)?n:e}}function Mr(A){return function(t,n,r){var o=_A(t);if(!qi(t)){var i=uo(n,3);t=Ss(t),n=function(A){return i(o[A],A,o)}}var s=A(t,n,r);return s>-1?o[i?t[s]:s]:e}}function Dr(A){return no((function(t){var r=t.length,o=r,i=ze.prototype.thru;for(A&&t.reverse();o--;){var s=t[o];if(\"function\"!=typeof s)throw new NA(n);if(i&&!a&&\"wrapper\"==so(s))var a=new ze([],!0)}for(o=a?o:r;++o<r;){var u=so(s=t[o]),c=\"wrapper\"==u?io(s):e;a=c&&Eo(c[0])&&424==c[1]&&!c[4].length&&1==c[9]?a[so(c[0])].apply(a,c[3]):1==s.length&&Eo(s)?a[u]():a.thru(s)}return function(){var A=arguments,e=A[0];if(a&&1==A.length&&Wi(e))return a.plant(e).value();for(var n=0,o=r?t[n].apply(this,A):e;++n<r;)o=t[n].call(this,o);return o}}))}function kr(A,t,n,r,o,i,s,a,c,l){var f=t&u,h=1&t,B=2&t,p=24&t,g=512&t,d=B?e:Lr(A);return function e(){for(var u=arguments.length,w=CA(u),Q=u;Q--;)w[Q]=arguments[Q];if(p)var v=ao(e),U=Ae(w,v);if(r&&(w=Hr(w,r,o,p)),i&&(w=br(w,i,s,p)),u-=U,p&&u<l){var C=se(w,v);return jr(A,t,kr,e.placeholder,n,w,C,a,c,l-u)}var E=h?n:this,y=B?E[A]:A;return u=w.length,a?w=No(w,a):g&&u>1&&w.reverse(),f&&c<u&&(w.length=c),this&&this!==lt&&this instanceof e&&(y=d||Lr(y)),y.apply(E,w)}}function Pr(A,t){return function(e,n){return function(A,t,e,n){return Un(A,(function(A,r,o){t(n,e(A),r,o)})),n}(e,A,t(n),{})}}function zr(A,t){return function(n,r){var o;if(n===e&&r===e)return t;if(n!==e&&(o=n),r!==e){if(o===e)return r;\"string\"==typeof n||\"string\"==typeof r?(n=cr(n),r=cr(r)):(n=ur(n),r=ur(r)),o=A(n,r)}return o}}function Vr(A){return no((function(t){return t=Kt(t,Wt(uo())),qn((function(e){var n=this;return A(t,(function(A){return Et(A,n,e)}))}))}))}function Xr(A,t){var n=(t=t===e?\" \":cr(t)).length;if(n<2)return n?Yn(t,A):t;var r=Yn(t,gt(A/ue(t)));return re(t)?Cr(ce(r),0,A).join(\"\"):r.slice(0,A)}function Jr(A){return function(t,n,r){return r&&\"number\"!=typeof r&&Uo(t,n,r)&&(n=r=e),t=ws(t),n===e?(n=t,t=0):n=ws(n),function(A,t,e,n){for(var r=-1,o=we(gt((t-A)/(e||1)),0),i=CA(o);o--;)i[n?o:++r]=A,A+=e;return i}(t,n,r=r===e?t<n?1:-1:ws(r),A)}}function Gr(A){return function(t,e){return\"string\"==typeof t&&\"string\"==typeof e||(t=Us(t),e=Us(e)),A(t,e)}}function jr(A,t,n,r,o,i,u,c,l,f){var h=8&t;t|=h?s:a,4&(t&=~(h?a:s))||(t&=-4);var B=[A,t,o,h?i:e,h?u:e,h?e:i,h?e:u,c,l,f],p=n.apply(e,B);return Eo(A)&&Io(p,B),p.placeholder=r,xo(p,A,t)}function Wr(A){var t=mA[A];return function(A,e){if(A=Us(A),(e=null==e?0:Qe(Qs(e),292))&&pe(A)){var n=(Es(A)+\"e\").split(\"e\");return+((n=(Es(t(n[0]+\"e\"+(+n[1]+e)))+\"e\").split(\"e\"))[0]+\"e\"+(+n[1]-e))}return t(A)}}var Yr=_e&&1/ae(new _e([,-0]))[1]==l?function(A){return new _e(A)}:ha;function qr(A){return function(t){var e=po(t);return e==E?oe(t):e==H?function(A){var t=-1,e=Array(A.size);return A.forEach((function(A){e[++t]=[A,A]})),e}(t):function(A,t){return Kt(t,(function(t){return[t,A[t]]}))}(t,A(t))}}function $r(A,t,r,l,f,h,B,p){var g=2&t;if(!g&&\"function\"!=typeof A)throw new NA(n);var d=l?l.length:0;if(d||(t&=-97,l=f=e),B=B===e?B:we(Qs(B),0),p=p===e?p:Qs(p),d-=f?f.length:0,t&a){var w=l,Q=f;l=f=e}var v=g?e:io(A),U=[A,t,r,l,f,w,Q,h,B,p];if(v&&function(A,t){var e=A[1],n=t[1],r=e|n,i=r<131,s=n==u&&8==e||n==u&&e==c&&A[7].length<=t[8]||384==n&&t[7].length<=t[8]&&8==e;if(!i&&!s)return A;1&n&&(A[2]=t[2],r|=1&e?0:4);var a=t[3];if(a){var l=A[3];A[3]=l?Hr(l,a,t[4]):a,A[4]=l?se(A[3],o):t[4]}(a=t[5])&&(l=A[5],A[5]=l?br(l,a,t[6]):a,A[6]=l?se(A[5],o):t[6]);(a=t[7])&&(A[7]=a);n&u&&(A[8]=null==A[8]?t[8]:Qe(A[8],t[8]));null==A[9]&&(A[9]=t[9]);A[0]=t[0],A[1]=r}(U,v),A=U[0],t=U[1],r=U[2],l=U[3],f=U[4],!(p=U[9]=U[9]===e?g?0:A.length:we(U[9]-d,0))&&24&t&&(t&=-25),t&&1!=t)C=8==t||t==i?function(A,t,n){var r=Lr(A);return function o(){for(var i=arguments.length,s=CA(i),a=i,u=ao(o);a--;)s[a]=arguments[a];var c=i<3&&s[0]!==u&&s[i-1]!==u?[]:se(s,u);return(i-=c.length)<n?jr(A,t,kr,o.placeholder,e,s,c,e,e,n-i):Et(this&&this!==lt&&this instanceof o?r:A,this,s)}}(A,t,p):t!=s&&33!=t||f.length?kr.apply(e,U):function(A,t,e,n){var r=1&t,o=Lr(A);return function t(){for(var i=-1,s=arguments.length,a=-1,u=n.length,c=CA(u+s),l=this&&this!==lt&&this instanceof t?o:A;++a<u;)c[a]=n[a];for(;s--;)c[a++]=arguments[++i];return Et(l,r?e:this,c)}}(A,t,r,l);else var C=function(A,t,e){var n=1&t,r=Lr(A);return function t(){return(this&&this!==lt&&this instanceof t?r:A).apply(n?e:this,arguments)}}(A,t,r);return xo((v?tr:Io)(C,U),A,t)}function Zr(A,t,n,r){return A===e||Xi(A,OA[n])&&!SA.call(r,n)?t:A}function Ao(A,t,n,r,o,i){return os(A)&&os(t)&&(i.set(t,A),zn(A,t,e,Ao,i),i.delete(t)),A}function to(A){return us(A)?e:A}function eo(A,t,n,r,o,i){var s=1&n,a=A.length,u=t.length;if(a!=u&&!(s&&u>a))return!1;var c=i.get(A),l=i.get(t);if(c&&l)return c==t&&l==A;var f=-1,h=!0,B=2&n?new je:e;for(i.set(A,t),i.set(t,A);++f<a;){var p=A[f],g=t[f];if(r)var d=s?r(g,p,f,t,A,i):r(p,g,f,A,t,i);if(d!==e){if(d)continue;h=!1;break}if(B){if(!xt(t,(function(A,t){if(!qt(B,t)&&(p===A||o(p,A,n,r,i)))return B.push(t)}))){h=!1;break}}else if(p!==g&&!o(p,g,n,r,i)){h=!1;break}}return i.delete(A),i.delete(t),h}function no(A){return To(Ho(A,e,Yo),A+\"\")}function ro(A){return Fn(A,Ss,ho)}function oo(A){return Fn(A,Rs,Bo)}var io=Ne?function(A){return Ne.get(A)}:ha;function so(A){for(var t=A.name+\"\",e=Ke[t],n=SA.call(Ke,t)?e.length:0;n--;){var r=e[n],o=r.func;if(null==o||o==A)return r.name}return t}function ao(A){return(SA.call(De,\"placeholder\")?De:A).placeholder}function uo(){var A=De.iteratee||ua;return A=A===ua?Sn:A,arguments.length?A(arguments[0],arguments[1]):A}function co(A,t){var e,n,r=A.__data__;return(\"string\"==(n=typeof(e=t))||\"number\"==n||\"symbol\"==n||\"boolean\"==n?\"__proto__\"!==e:null===e)?r[\"string\"==typeof t?\"string\":\"hash\"]:r.map}function lo(A){for(var t=Ss(A),e=t.length;e--;){var n=t[e],r=A[n];t[e]=[n,r,mo(r)]}return t}function fo(A,t){var n=function(A,t){return null==A?e:A[t]}(A,t);return xn(n)?n:e}var ho=Vt?function(A){return null==A?[]:(A=_A(A),Ht(Vt(A),(function(t){return WA.call(A,t)})))}:va,Bo=Vt?function(A){for(var t=[];A;)It(t,ho(A)),A=GA(A);return t}:va,po=mn;function go(A,t,e){for(var n=-1,r=(t=vr(t,A)).length,o=!1;++n<r;){var i=Po(t[n]);if(!(o=null!=A&&e(A,i)))break;A=A[i]}return o||++n!=r?o:!!(r=null==A?0:A.length)&&rs(r)&&vo(i,r)&&(Wi(A)||ji(A))}function wo(A){return\"function\"!=typeof A.constructor||Fo(A)?{}:ke(GA(A))}function Qo(A){return Wi(A)||ji(A)||!!(At&&A&&A[At])}function vo(A,t){var e=typeof A;return!!(t=null==t?f:t)&&(\"number\"==e||\"symbol\"!=e&&wA.test(A))&&A>-1&&A%1==0&&A<t}function Uo(A,t,e){if(!os(e))return!1;var n=typeof t;return!!(\"number\"==n?qi(e)&&vo(t,e.length):\"string\"==n&&t in e)&&Xi(e[t],A)}function Co(A,t){if(Wi(A))return!1;var e=typeof A;return!(\"number\"!=e&&\"symbol\"!=e&&\"boolean\"!=e&&null!=A&&!hs(A))||(AA.test(A)||!Z.test(A)||null!=t&&A in _A(t))}function Eo(A){var t=so(A),e=De[t];if(\"function\"!=typeof e||!(t in Ve.prototype))return!1;if(A===e)return!0;var n=io(e);return!!n&&A===n[0]}(ye&&po(new ye(new ArrayBuffer(1)))!=O||Fe&&po(new Fe)!=E||me&&po(me.resolve())!=m||_e&&po(new _e)!=H||He&&po(new He)!=K)&&(po=function(A){var t=mn(A),n=t==F?A.constructor:e,r=n?zo(n):\"\";if(r)switch(r){case Ie:return O;case Oe:return E;case Te:return m;case xe:return H;case Se:return K}return t});var yo=TA?es:Ua;function Fo(A){var t=A&&A.constructor;return A===(\"function\"==typeof t&&t.prototype||OA)}function mo(A){return A==A&&!os(A)}function _o(A,t){return function(n){return null!=n&&(n[A]===t&&(t!==e||A in _A(n)))}}function Ho(A,t,n){return t=we(t===e?A.length-1:t,0),function(){for(var e=arguments,r=-1,o=we(e.length-t,0),i=CA(o);++r<o;)i[r]=e[t+r];r=-1;for(var s=CA(t+1);++r<t;)s[r]=e[r];return s[t]=n(i),Et(A,this,s)}}function bo(A,t){return t.length<2?A:yn(A,rr(t,0,-1))}function No(A,t){for(var n=A.length,r=Qe(t.length,n),o=Nr(A);r--;){var i=t[r];A[r]=vo(i,n)?o[i]:e}return A}function Ko(A,t){if((\"constructor\"!==t||\"function\"!=typeof A[t])&&\"__proto__\"!=t)return A[t]}var Io=So(tr),Oo=pt||function(A,t){return lt.setTimeout(A,t)},To=So(er);function xo(A,t,e){var n=t+\"\";return To(A,function(A,t){var e=t.length;if(!e)return A;var n=e-1;return t[n]=(e>1?\"& \":\"\")+t[n],t=t.join(e>2?\", \":\" \"),A.replace(iA,\"{\\n/* [wrapped with \"+t+\"] */\\n\")}(n,function(A,t){return Ft(p,(function(e){var n=\"_.\"+e[0];t&e[1]&&!bt(A,n)&&A.push(n)})),A.sort()}(function(A){var t=A.match(sA);return t?t[1].split(aA):[]}(n),e)))}function So(A){var t=0,n=0;return function(){var r=ve(),o=16-(r-n);if(n=r,o>0){if(++t>=800)return arguments[0]}else t=0;return A.apply(e,arguments)}}function Ro(A,t){var n=-1,r=A.length,o=r-1;for(t=t===e?r:t;++n<t;){var i=Wn(n,o),s=A[i];A[i]=A[n],A[n]=s}return A.length=t,A}var Lo,Mo,Do,ko=(Lo=function(A){var t=[];return 46===A.charCodeAt(0)&&t.push(\"\"),A.replace(tA,(function(A,e,n,r){t.push(n?r.replace(lA,\"$1\"):e||A)})),t},Mo=Mi(Lo,(function(A){return 500===Do.size&&Do.clear(),A})),Do=Mo.cache,Mo);function Po(A){if(\"string\"==typeof A||hs(A))return A;var t=A+\"\";return\"0\"==t&&1/A==-1/0?\"-0\":t}function zo(A){if(null!=A){try{return xA.call(A)}catch(t){}try{return A+\"\"}catch(t){}}return\"\"}function Vo(A){if(A instanceof Ve)return A.clone();var t=new ze(A.__wrapped__,A.__chain__);return t.__actions__=Nr(A.__actions__),t.__index__=A.__index__,t.__values__=A.__values__,t}var Xo=qn((function(A,t){return $i(A)?fn(A,wn(t,1,$i,!0)):[]})),Jo=qn((function(A,t){var n=ti(t);return $i(n)&&(n=e),$i(A)?fn(A,wn(t,1,$i,!0),uo(n,2)):[]})),Go=qn((function(A,t){var n=ti(t);return $i(n)&&(n=e),$i(A)?fn(A,wn(t,1,$i,!0),e,n):[]}));function jo(A,t,e){var n=null==A?0:A.length;if(!n)return-1;var r=null==e?0:Qs(e);return r<0&&(r=we(n+r,0)),Lt(A,uo(t,3),r)}function Wo(A,t,n){var r=null==A?0:A.length;if(!r)return-1;var o=r-1;return n!==e&&(o=Qs(n),o=n<0?we(r+o,0):Qe(o,r-1)),Lt(A,uo(t,3),o,!0)}function Yo(A){return(null==A?0:A.length)?wn(A,1):[]}function qo(A){return A&&A.length?A[0]:e}var $o=qn((function(A){var t=Kt(A,wr);return t.length&&t[0]===A[0]?Nn(t):[]})),Zo=qn((function(A){var t=ti(A),n=Kt(A,wr);return t===ti(n)?t=e:n.pop(),n.length&&n[0]===A[0]?Nn(n,uo(t,2)):[]})),Ai=qn((function(A){var t=ti(A),n=Kt(A,wr);return(t=\"function\"==typeof t?t:e)&&n.pop(),n.length&&n[0]===A[0]?Nn(n,e,t):[]}));function ti(A){var t=null==A?0:A.length;return t?A[t-1]:e}var ei=qn(ni);function ni(A,t){return A&&A.length&&t&&t.length?Gn(A,t):A}var ri=no((function(A,t){var e=null==A?0:A.length,n=sn(A,t);return jn(A,Kt(t,(function(A){return vo(A,e)?+A:A})).sort(_r)),n}));function oi(A){return null==A?A:Ee.call(A)}var ii=qn((function(A){return lr(wn(A,1,$i,!0))})),si=qn((function(A){var t=ti(A);return $i(t)&&(t=e),lr(wn(A,1,$i,!0),uo(t,2))})),ai=qn((function(A){var t=ti(A);return t=\"function\"==typeof t?t:e,lr(wn(A,1,$i,!0),e,t)}));function ui(A){if(!A||!A.length)return[];var t=0;return A=Ht(A,(function(A){if($i(A))return t=we(A.length,t),!0})),Gt(t,(function(t){return Kt(A,zt(t))}))}function ci(A,t){if(!A||!A.length)return[];var n=ui(A);return null==t?n:Kt(n,(function(A){return Et(t,e,A)}))}var li=qn((function(A,t){return $i(A)?fn(A,t):[]})),fi=qn((function(A){return gr(Ht(A,$i))})),hi=qn((function(A){var t=ti(A);return $i(t)&&(t=e),gr(Ht(A,$i),uo(t,2))})),Bi=qn((function(A){var t=ti(A);return t=\"function\"==typeof t?t:e,gr(Ht(A,$i),e,t)})),pi=qn(ui);var gi=qn((function(A){var t=A.length,n=t>1?A[t-1]:e;return n=\"function\"==typeof n?(A.pop(),n):e,ci(A,n)}));function di(A){var t=De(A);return t.__chain__=!0,t}function wi(A,t){return t(A)}var Qi=no((function(A){var t=A.length,n=t?A[0]:0,r=this.__wrapped__,o=function(t){return sn(t,A)};return!(t>1||this.__actions__.length)&&r instanceof Ve&&vo(n)?((r=r.slice(n,+n+(t?1:0))).__actions__.push({func:wi,args:[o],thisArg:e}),new ze(r,this.__chain__).thru((function(A){return t&&!A.length&&A.push(e),A}))):this.thru(o)}));var vi=Ir((function(A,t,e){SA.call(A,e)?++A[e]:on(A,e,1)}));var Ui=Mr(jo),Ci=Mr(Wo);function Ei(A,t){return(Wi(A)?Ft:hn)(A,uo(t,3))}function yi(A,t){return(Wi(A)?mt:Bn)(A,uo(t,3))}var Fi=Ir((function(A,t,e){SA.call(A,e)?A[e].push(t):on(A,e,[t])}));var mi=qn((function(A,t,e){var n=-1,r=\"function\"==typeof t,o=qi(A)?CA(A.length):[];return hn(A,(function(A){o[++n]=r?Et(t,A,e):Kn(A,t,e)})),o})),_i=Ir((function(A,t,e){on(A,e,t)}));function Hi(A,t){return(Wi(A)?Kt:Dn)(A,uo(t,3))}var bi=Ir((function(A,t,e){A[e?0:1].push(t)}),(function(){return[[],[]]}));var Ni=qn((function(A,t){if(null==A)return[];var e=t.length;return e>1&&Uo(A,t[0],t[1])?t=[]:e>2&&Uo(t[0],t[1],t[2])&&(t=[t[0]]),Xn(A,wn(t,1),[])})),Ki=ht||function(){return lt.Date.now()};function Ii(A,t,n){return t=n?e:t,t=A&&null==t?A.length:t,$r(A,u,e,e,e,e,t)}function Oi(A,t){var r;if(\"function\"!=typeof t)throw new NA(n);return A=Qs(A),function(){return--A>0&&(r=t.apply(this,arguments)),A<=1&&(t=e),r}}var Ti=qn((function(A,t,e){var n=1;if(e.length){var r=se(e,ao(Ti));n|=s}return $r(A,n,t,e,r)})),xi=qn((function(A,t,e){var n=3;if(e.length){var r=se(e,ao(xi));n|=s}return $r(t,n,A,e,r)}));function Si(A,t,r){var o,i,s,a,u,c,l=0,f=!1,h=!1,B=!0;if(\"function\"!=typeof A)throw new NA(n);function p(t){var n=o,r=i;return o=i=e,l=t,a=A.apply(r,n)}function g(A){return l=A,u=Oo(w,t),f?p(A):a}function d(A){var n=A-c;return c===e||n>=t||n<0||h&&A-l>=s}function w(){var A=Ki();if(d(A))return Q(A);u=Oo(w,function(A){var e=t-(A-c);return h?Qe(e,s-(A-l)):e}(A))}function Q(A){return u=e,B&&o?p(A):(o=i=e,a)}function v(){var A=Ki(),n=d(A);if(o=arguments,i=this,c=A,n){if(u===e)return g(c);if(h)return Er(u),u=Oo(w,t),p(c)}return u===e&&(u=Oo(w,t)),a}return t=Us(t)||0,os(r)&&(f=!!r.leading,s=(h=\"maxWait\"in r)?we(Us(r.maxWait)||0,t):s,B=\"trailing\"in r?!!r.trailing:B),v.cancel=function(){u!==e&&Er(u),l=0,o=c=i=u=e},v.flush=function(){return u===e?a:Q(Ki())},v}var Ri=qn((function(A,t){return ln(A,1,t)})),Li=qn((function(A,t,e){return ln(A,Us(t)||0,e)}));function Mi(A,t){if(\"function\"!=typeof A||null!=t&&\"function\"!=typeof t)throw new NA(n);var e=function(){var n=arguments,r=t?t.apply(this,n):n[0],o=e.cache;if(o.has(r))return o.get(r);var i=A.apply(this,n);return e.cache=o.set(r,i)||o,i};return e.cache=new(Mi.Cache||Ge),e}function Di(A){if(\"function\"!=typeof A)throw new NA(n);return function(){var t=arguments;switch(t.length){case 0:return!A.call(this);case 1:return!A.call(this,t[0]);case 2:return!A.call(this,t[0],t[1]);case 3:return!A.call(this,t[0],t[1],t[2])}return!A.apply(this,t)}}Mi.Cache=Ge;var ki=Ur((function(A,t){var e=(t=1==t.length&&Wi(t[0])?Kt(t[0],Wt(uo())):Kt(wn(t,1),Wt(uo()))).length;return qn((function(n){for(var r=-1,o=Qe(n.length,e);++r<o;)n[r]=t[r].call(this,n[r]);return Et(A,this,n)}))})),Pi=qn((function(A,t){var n=se(t,ao(Pi));return $r(A,s,e,t,n)})),zi=qn((function(A,t){var n=se(t,ao(zi));return $r(A,a,e,t,n)})),Vi=no((function(A,t){return $r(A,c,e,e,e,t)}));function Xi(A,t){return A===t||A!=A&&t!=t}var Ji=Gr(_n),Gi=Gr((function(A,t){return A>=t})),ji=In(function(){return arguments}())?In:function(A){return is(A)&&SA.call(A,\"callee\")&&!WA.call(A,\"callee\")},Wi=CA.isArray,Yi=dt?Wt(dt):function(A){return is(A)&&mn(A)==I};function qi(A){return null!=A&&rs(A.length)&&!es(A)}function $i(A){return is(A)&&qi(A)}var Zi=Be||Ua,As=wt?Wt(wt):function(A){return is(A)&&mn(A)==Q};function ts(A){if(!is(A))return!1;var t=mn(A);return t==v||\"[object DOMException]\"==t||\"string\"==typeof A.message&&\"string\"==typeof A.name&&!us(A)}function es(A){if(!os(A))return!1;var t=mn(A);return t==U||t==C||\"[object AsyncFunction]\"==t||\"[object Proxy]\"==t}function ns(A){return\"number\"==typeof A&&A==Qs(A)}function rs(A){return\"number\"==typeof A&&A>-1&&A%1==0&&A<=f}function os(A){var t=typeof A;return null!=A&&(\"object\"==t||\"function\"==t)}function is(A){return null!=A&&\"object\"==typeof A}var ss=Qt?Wt(Qt):function(A){return is(A)&&po(A)==E};function as(A){return\"number\"==typeof A||is(A)&&mn(A)==y}function us(A){if(!is(A)||mn(A)!=F)return!1;var t=GA(A);if(null===t)return!0;var e=SA.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof e&&e instanceof e&&xA.call(e)==DA}var cs=vt?Wt(vt):function(A){return is(A)&&mn(A)==_};var ls=Ut?Wt(Ut):function(A){return is(A)&&po(A)==H};function fs(A){return\"string\"==typeof A||!Wi(A)&&is(A)&&mn(A)==b}function hs(A){return\"symbol\"==typeof A||is(A)&&mn(A)==N}var Bs=Ct?Wt(Ct):function(A){return is(A)&&rs(A.length)&&!!rt[mn(A)]};var ps=Gr(Mn),gs=Gr((function(A,t){return A<=t}));function ds(A){if(!A)return[];if(qi(A))return fs(A)?ce(A):Nr(A);if(it&&A[it])return function(A){for(var t,e=[];!(t=A.next()).done;)e.push(t.value);return e}(A[it]());var t=po(A);return(t==E?oe:t==H?ae:Xs)(A)}function ws(A){return A?(A=Us(A))===l||A===-1/0?17976931348623157e292*(A<0?-1:1):A==A?A:0:0===A?A:0}function Qs(A){var t=ws(A),e=t%1;return t==t?e?t-e:t:0}function vs(A){return A?an(Qs(A),0,B):0}function Us(A){if(\"number\"==typeof A)return A;if(hs(A))return h;if(os(A)){var t=\"function\"==typeof A.valueOf?A.valueOf():A;A=os(t)?t+\"\":t}if(\"string\"!=typeof A)return 0===A?A:+A;A=jt(A);var e=pA.test(A);return e||dA.test(A)?at(A.slice(2),e?2:8):BA.test(A)?h:+A}function Cs(A){return Kr(A,Rs(A))}function Es(A){return null==A?\"\":cr(A)}var ys=Or((function(A,t){if(Fo(t)||qi(t))Kr(t,Ss(t),A);else for(var e in t)SA.call(t,e)&&tn(A,e,t[e])})),Fs=Or((function(A,t){Kr(t,Rs(t),A)})),ms=Or((function(A,t,e,n){Kr(t,Rs(t),A,n)})),_s=Or((function(A,t,e,n){Kr(t,Ss(t),A,n)})),Hs=no(sn);var bs=qn((function(A,t){A=_A(A);var n=-1,r=t.length,o=r>2?t[2]:e;for(o&&Uo(t[0],t[1],o)&&(r=1);++n<r;)for(var i=t[n],s=Rs(i),a=-1,u=s.length;++a<u;){var c=s[a],l=A[c];(l===e||Xi(l,OA[c])&&!SA.call(A,c))&&(A[c]=i[c])}return A})),Ns=qn((function(A){return A.push(e,Ao),Et(Ms,e,A)}));function Ks(A,t,n){var r=null==A?e:yn(A,t);return r===e?n:r}function Is(A,t){return null!=A&&go(A,t,bn)}var Os=Pr((function(A,t,e){null!=t&&\"function\"!=typeof t.toString&&(t=MA.call(t)),A[t]=e}),oa(aa)),Ts=Pr((function(A,t,e){null!=t&&\"function\"!=typeof t.toString&&(t=MA.call(t)),SA.call(A,t)?A[t].push(e):A[t]=[e]}),uo),xs=qn(Kn);function Ss(A){return qi(A)?Ye(A):Rn(A)}function Rs(A){return qi(A)?Ye(A,!0):Ln(A)}var Ls=Or((function(A,t,e){zn(A,t,e)})),Ms=Or((function(A,t,e,n){zn(A,t,e,n)})),Ds=no((function(A,t){var e={};if(null==A)return e;var n=!1;t=Kt(t,(function(t){return t=vr(t,A),n||(n=t.length>1),t})),Kr(A,oo(A),e),n&&(e=un(e,7,to));for(var r=t.length;r--;)fr(e,t[r]);return e}));var ks=no((function(A,t){return null==A?{}:function(A,t){return Jn(A,t,(function(t,e){return Is(A,e)}))}(A,t)}));function Ps(A,t){if(null==A)return{};var e=Kt(oo(A),(function(A){return[A]}));return t=uo(t),Jn(A,e,(function(A,e){return t(A,e[0])}))}var zs=qr(Ss),Vs=qr(Rs);function Xs(A){return null==A?[]:Yt(A,Ss(A))}var Js=Rr((function(A,t,e){return t=t.toLowerCase(),A+(e?Gs(t):t)}));function Gs(A){return ta(Es(A).toLowerCase())}function js(A){return(A=Es(A))&&A.replace(QA,te).replace(qA,\"\")}var Ws=Rr((function(A,t,e){return A+(e?\"-\":\"\")+t.toLowerCase()})),Ys=Rr((function(A,t,e){return A+(e?\" \":\"\")+t.toLowerCase()})),qs=Sr(\"toLowerCase\");var $s=Rr((function(A,t,e){return A+(e?\"_\":\"\")+t.toLowerCase()}));var Zs=Rr((function(A,t,e){return A+(e?\" \":\"\")+ta(t)}));var Aa=Rr((function(A,t,e){return A+(e?\" \":\"\")+t.toUpperCase()})),ta=Sr(\"toUpperCase\");function ea(A,t,n){return A=Es(A),(t=n?e:t)===e?function(A){return tt.test(A)}(A)?function(A){return A.match(ZA)||[]}(A):function(A){return A.match(uA)||[]}(A):A.match(t)||[]}var na=qn((function(A,t){try{return Et(A,e,t)}catch(n){return ts(n)?n:new yA(n)}})),ra=no((function(A,t){return Ft(t,(function(t){t=Po(t),on(A,t,Ti(A[t],A))})),A}));function oa(A){return function(){return A}}var ia=Dr(),sa=Dr(!0);function aa(A){return A}function ua(A){return Sn(\"function\"==typeof A?A:un(A,1))}var ca=qn((function(A,t){return function(e){return Kn(e,A,t)}})),la=qn((function(A,t){return function(e){return Kn(A,e,t)}}));function fa(A,t,e){var n=Ss(t),r=En(t,n);null!=e||os(t)&&(r.length||!n.length)||(e=t,t=A,A=this,r=En(t,Ss(t)));var o=!(os(e)&&\"chain\"in e&&!e.chain),i=es(A);return Ft(r,(function(e){var n=t[e];A[e]=n,i&&(A.prototype[e]=function(){var t=this.__chain__;if(o||t){var e=A(this.__wrapped__),r=e.__actions__=Nr(this.__actions__);return r.push({func:n,args:arguments,thisArg:A}),e.__chain__=t,e}return n.apply(A,It([this.value()],arguments))})})),A}function ha(){}var Ba=Vr(Kt),pa=Vr(_t),ga=Vr(xt);function da(A){return Co(A)?zt(Po(A)):function(A){return function(t){return yn(t,A)}}(A)}var wa=Jr(),Qa=Jr(!0);function va(){return[]}function Ua(){return!1}var Ca=zr((function(A,t){return A+t}),0),Ea=Wr(\"ceil\"),ya=zr((function(A,t){return A/t}),1),Fa=Wr(\"floor\");var ma,_a=zr((function(A,t){return A*t}),1),Ha=Wr(\"round\"),ba=zr((function(A,t){return A-t}),0);return De.after=function(A,t){if(\"function\"!=typeof t)throw new NA(n);return A=Qs(A),function(){if(--A<1)return t.apply(this,arguments)}},De.ary=Ii,De.assign=ys,De.assignIn=Fs,De.assignInWith=ms,De.assignWith=_s,De.at=Hs,De.before=Oi,De.bind=Ti,De.bindAll=ra,De.bindKey=xi,De.castArray=function(){if(!arguments.length)return[];var A=arguments[0];return Wi(A)?A:[A]},De.chain=di,De.chunk=function(A,t,n){t=(n?Uo(A,t,n):t===e)?1:we(Qs(t),0);var r=null==A?0:A.length;if(!r||t<1)return[];for(var o=0,i=0,s=CA(gt(r/t));o<r;)s[i++]=rr(A,o,o+=t);return s},De.compact=function(A){for(var t=-1,e=null==A?0:A.length,n=0,r=[];++t<e;){var o=A[t];o&&(r[n++]=o)}return r},De.concat=function(){var A=arguments.length;if(!A)return[];for(var t=CA(A-1),e=arguments[0],n=A;n--;)t[n-1]=arguments[n];return It(Wi(e)?Nr(e):[e],wn(t,1))},De.cond=function(A){var t=null==A?0:A.length,e=uo();return A=t?Kt(A,(function(A){if(\"function\"!=typeof A[1])throw new NA(n);return[e(A[0]),A[1]]})):[],qn((function(e){for(var n=-1;++n<t;){var r=A[n];if(Et(r[0],this,e))return Et(r[1],this,e)}}))},De.conforms=function(A){return function(A){var t=Ss(A);return function(e){return cn(e,A,t)}}(un(A,1))},De.constant=oa,De.countBy=vi,De.create=function(A,t){var e=ke(A);return null==t?e:rn(e,t)},De.curry=function A(t,n,r){var o=$r(t,8,e,e,e,e,e,n=r?e:n);return o.placeholder=A.placeholder,o},De.curryRight=function A(t,n,r){var o=$r(t,i,e,e,e,e,e,n=r?e:n);return o.placeholder=A.placeholder,o},De.debounce=Si,De.defaults=bs,De.defaultsDeep=Ns,De.defer=Ri,De.delay=Li,De.difference=Xo,De.differenceBy=Jo,De.differenceWith=Go,De.drop=function(A,t,n){var r=null==A?0:A.length;return r?rr(A,(t=n||t===e?1:Qs(t))<0?0:t,r):[]},De.dropRight=function(A,t,n){var r=null==A?0:A.length;return r?rr(A,0,(t=r-(t=n||t===e?1:Qs(t)))<0?0:t):[]},De.dropRightWhile=function(A,t){return A&&A.length?Br(A,uo(t,3),!0,!0):[]},De.dropWhile=function(A,t){return A&&A.length?Br(A,uo(t,3),!0):[]},De.fill=function(A,t,n,r){var o=null==A?0:A.length;return o?(n&&\"number\"!=typeof n&&Uo(A,t,n)&&(n=0,r=o),function(A,t,n,r){var o=A.length;for((n=Qs(n))<0&&(n=-n>o?0:o+n),(r=r===e||r>o?o:Qs(r))<0&&(r+=o),r=n>r?0:vs(r);n<r;)A[n++]=t;return A}(A,t,n,r)):[]},De.filter=function(A,t){return(Wi(A)?Ht:dn)(A,uo(t,3))},De.flatMap=function(A,t){return wn(Hi(A,t),1)},De.flatMapDeep=function(A,t){return wn(Hi(A,t),l)},De.flatMapDepth=function(A,t,n){return n=n===e?1:Qs(n),wn(Hi(A,t),n)},De.flatten=Yo,De.flattenDeep=function(A){return(null==A?0:A.length)?wn(A,l):[]},De.flattenDepth=function(A,t){return(null==A?0:A.length)?wn(A,t=t===e?1:Qs(t)):[]},De.flip=function(A){return $r(A,512)},De.flow=ia,De.flowRight=sa,De.fromPairs=function(A){for(var t=-1,e=null==A?0:A.length,n={};++t<e;){var r=A[t];n[r[0]]=r[1]}return n},De.functions=function(A){return null==A?[]:En(A,Ss(A))},De.functionsIn=function(A){return null==A?[]:En(A,Rs(A))},De.groupBy=Fi,De.initial=function(A){return(null==A?0:A.length)?rr(A,0,-1):[]},De.intersection=$o,De.intersectionBy=Zo,De.intersectionWith=Ai,De.invert=Os,De.invertBy=Ts,De.invokeMap=mi,De.iteratee=ua,De.keyBy=_i,De.keys=Ss,De.keysIn=Rs,De.map=Hi,De.mapKeys=function(A,t){var e={};return t=uo(t,3),Un(A,(function(A,n,r){on(e,t(A,n,r),A)})),e},De.mapValues=function(A,t){var e={};return t=uo(t,3),Un(A,(function(A,n,r){on(e,n,t(A,n,r))})),e},De.matches=function(A){return kn(un(A,1))},De.matchesProperty=function(A,t){return Pn(A,un(t,1))},De.memoize=Mi,De.merge=Ls,De.mergeWith=Ms,De.method=ca,De.methodOf=la,De.mixin=fa,De.negate=Di,De.nthArg=function(A){return A=Qs(A),qn((function(t){return Vn(t,A)}))},De.omit=Ds,De.omitBy=function(A,t){return Ps(A,Di(uo(t)))},De.once=function(A){return Oi(2,A)},De.orderBy=function(A,t,n,r){return null==A?[]:(Wi(t)||(t=null==t?[]:[t]),Wi(n=r?e:n)||(n=null==n?[]:[n]),Xn(A,t,n))},De.over=Ba,De.overArgs=ki,De.overEvery=pa,De.overSome=ga,De.partial=Pi,De.partialRight=zi,De.partition=bi,De.pick=ks,De.pickBy=Ps,De.property=da,De.propertyOf=function(A){return function(t){return null==A?e:yn(A,t)}},De.pull=ei,De.pullAll=ni,De.pullAllBy=function(A,t,e){return A&&A.length&&t&&t.length?Gn(A,t,uo(e,2)):A},De.pullAllWith=function(A,t,n){return A&&A.length&&t&&t.length?Gn(A,t,e,n):A},De.pullAt=ri,De.range=wa,De.rangeRight=Qa,De.rearg=Vi,De.reject=function(A,t){return(Wi(A)?Ht:dn)(A,Di(uo(t,3)))},De.remove=function(A,t){var e=[];if(!A||!A.length)return e;var n=-1,r=[],o=A.length;for(t=uo(t,3);++n<o;){var i=A[n];t(i,n,A)&&(e.push(i),r.push(n))}return jn(A,r),e},De.rest=function(A,t){if(\"function\"!=typeof A)throw new NA(n);return qn(A,t=t===e?t:Qs(t))},De.reverse=oi,De.sampleSize=function(A,t,n){return t=(n?Uo(A,t,n):t===e)?1:Qs(t),(Wi(A)?$e:Zn)(A,t)},De.set=function(A,t,e){return null==A?A:Ar(A,t,e)},De.setWith=function(A,t,n,r){return r=\"function\"==typeof r?r:e,null==A?A:Ar(A,t,n,r)},De.shuffle=function(A){return(Wi(A)?Ze:nr)(A)},De.slice=function(A,t,n){var r=null==A?0:A.length;return r?(n&&\"number\"!=typeof n&&Uo(A,t,n)?(t=0,n=r):(t=null==t?0:Qs(t),n=n===e?r:Qs(n)),rr(A,t,n)):[]},De.sortBy=Ni,De.sortedUniq=function(A){return A&&A.length?ar(A):[]},De.sortedUniqBy=function(A,t){return A&&A.length?ar(A,uo(t,2)):[]},De.split=function(A,t,n){return n&&\"number\"!=typeof n&&Uo(A,t,n)&&(t=n=e),(n=n===e?B:n>>>0)?(A=Es(A))&&(\"string\"==typeof t||null!=t&&!cs(t))&&!(t=cr(t))&&re(A)?Cr(ce(A),0,n):A.split(t,n):[]},De.spread=function(A,t){if(\"function\"!=typeof A)throw new NA(n);return t=null==t?0:we(Qs(t),0),qn((function(e){var n=e[t],r=Cr(e,0,t);return n&&It(r,n),Et(A,this,r)}))},De.tail=function(A){var t=null==A?0:A.length;return t?rr(A,1,t):[]},De.take=function(A,t,n){return A&&A.length?rr(A,0,(t=n||t===e?1:Qs(t))<0?0:t):[]},De.takeRight=function(A,t,n){var r=null==A?0:A.length;return r?rr(A,(t=r-(t=n||t===e?1:Qs(t)))<0?0:t,r):[]},De.takeRightWhile=function(A,t){return A&&A.length?Br(A,uo(t,3),!1,!0):[]},De.takeWhile=function(A,t){return A&&A.length?Br(A,uo(t,3)):[]},De.tap=function(A,t){return t(A),A},De.throttle=function(A,t,e){var r=!0,o=!0;if(\"function\"!=typeof A)throw new NA(n);return os(e)&&(r=\"leading\"in e?!!e.leading:r,o=\"trailing\"in e?!!e.trailing:o),Si(A,t,{leading:r,maxWait:t,trailing:o})},De.thru=wi,De.toArray=ds,De.toPairs=zs,De.toPairsIn=Vs,De.toPath=function(A){return Wi(A)?Kt(A,Po):hs(A)?[A]:Nr(ko(Es(A)))},De.toPlainObject=Cs,De.transform=function(A,t,e){var n=Wi(A),r=n||Zi(A)||Bs(A);if(t=uo(t,4),null==e){var o=A&&A.constructor;e=r?n?new o:[]:os(A)&&es(o)?ke(GA(A)):{}}return(r?Ft:Un)(A,(function(A,n,r){return t(e,A,n,r)})),e},De.unary=function(A){return Ii(A,1)},De.union=ii,De.unionBy=si,De.unionWith=ai,De.uniq=function(A){return A&&A.length?lr(A):[]},De.uniqBy=function(A,t){return A&&A.length?lr(A,uo(t,2)):[]},De.uniqWith=function(A,t){return t=\"function\"==typeof t?t:e,A&&A.length?lr(A,e,t):[]},De.unset=function(A,t){return null==A||fr(A,t)},De.unzip=ui,De.unzipWith=ci,De.update=function(A,t,e){return null==A?A:hr(A,t,Qr(e))},De.updateWith=function(A,t,n,r){return r=\"function\"==typeof r?r:e,null==A?A:hr(A,t,Qr(n),r)},De.values=Xs,De.valuesIn=function(A){return null==A?[]:Yt(A,Rs(A))},De.without=li,De.words=ea,De.wrap=function(A,t){return Pi(Qr(t),A)},De.xor=fi,De.xorBy=hi,De.xorWith=Bi,De.zip=pi,De.zipObject=function(A,t){return dr(A||[],t||[],tn)},De.zipObjectDeep=function(A,t){return dr(A||[],t||[],Ar)},De.zipWith=gi,De.entries=zs,De.entriesIn=Vs,De.extend=Fs,De.extendWith=ms,fa(De,De),De.add=Ca,De.attempt=na,De.camelCase=Js,De.capitalize=Gs,De.ceil=Ea,De.clamp=function(A,t,n){return n===e&&(n=t,t=e),n!==e&&(n=(n=Us(n))==n?n:0),t!==e&&(t=(t=Us(t))==t?t:0),an(Us(A),t,n)},De.clone=function(A){return un(A,4)},De.cloneDeep=function(A){return un(A,5)},De.cloneDeepWith=function(A,t){return un(A,5,t=\"function\"==typeof t?t:e)},De.cloneWith=function(A,t){return un(A,4,t=\"function\"==typeof t?t:e)},De.conformsTo=function(A,t){return null==t||cn(A,t,Ss(t))},De.deburr=js,De.defaultTo=function(A,t){return null==A||A!=A?t:A},De.divide=ya,De.endsWith=function(A,t,n){A=Es(A),t=cr(t);var r=A.length,o=n=n===e?r:an(Qs(n),0,r);return(n-=t.length)>=0&&A.slice(n,o)==t},De.eq=Xi,De.escape=function(A){return(A=Es(A))&&W.test(A)?A.replace(G,ee):A},De.escapeRegExp=function(A){return(A=Es(A))&&nA.test(A)?A.replace(eA,\"\\\\$&\"):A},De.every=function(A,t,n){var r=Wi(A)?_t:pn;return n&&Uo(A,t,n)&&(t=e),r(A,uo(t,3))},De.find=Ui,De.findIndex=jo,De.findKey=function(A,t){return Rt(A,uo(t,3),Un)},De.findLast=Ci,De.findLastIndex=Wo,De.findLastKey=function(A,t){return Rt(A,uo(t,3),Cn)},De.floor=Fa,De.forEach=Ei,De.forEachRight=yi,De.forIn=function(A,t){return null==A?A:Qn(A,uo(t,3),Rs)},De.forInRight=function(A,t){return null==A?A:vn(A,uo(t,3),Rs)},De.forOwn=function(A,t){return A&&Un(A,uo(t,3))},De.forOwnRight=function(A,t){return A&&Cn(A,uo(t,3))},De.get=Ks,De.gt=Ji,De.gte=Gi,De.has=function(A,t){return null!=A&&go(A,t,Hn)},De.hasIn=Is,De.head=qo,De.identity=aa,De.includes=function(A,t,e,n){A=qi(A)?A:Xs(A),e=e&&!n?Qs(e):0;var r=A.length;return e<0&&(e=we(r+e,0)),fs(A)?e<=r&&A.indexOf(t,e)>-1:!!r&&Mt(A,t,e)>-1},De.indexOf=function(A,t,e){var n=null==A?0:A.length;if(!n)return-1;var r=null==e?0:Qs(e);return r<0&&(r=we(n+r,0)),Mt(A,t,r)},De.inRange=function(A,t,n){return t=ws(t),n===e?(n=t,t=0):n=ws(n),function(A,t,e){return A>=Qe(t,e)&&A<we(t,e)}(A=Us(A),t,n)},De.invoke=xs,De.isArguments=ji,De.isArray=Wi,De.isArrayBuffer=Yi,De.isArrayLike=qi,De.isArrayLikeObject=$i,De.isBoolean=function(A){return!0===A||!1===A||is(A)&&mn(A)==w},De.isBuffer=Zi,De.isDate=As,De.isElement=function(A){return is(A)&&1===A.nodeType&&!us(A)},De.isEmpty=function(A){if(null==A)return!0;if(qi(A)&&(Wi(A)||\"string\"==typeof A||\"function\"==typeof A.splice||Zi(A)||Bs(A)||ji(A)))return!A.length;var t=po(A);if(t==E||t==H)return!A.size;if(Fo(A))return!Rn(A).length;for(var e in A)if(SA.call(A,e))return!1;return!0},De.isEqual=function(A,t){return On(A,t)},De.isEqualWith=function(A,t,n){var r=(n=\"function\"==typeof n?n:e)?n(A,t):e;return r===e?On(A,t,e,n):!!r},De.isError=ts,De.isFinite=function(A){return\"number\"==typeof A&&pe(A)},De.isFunction=es,De.isInteger=ns,De.isLength=rs,De.isMap=ss,De.isMatch=function(A,t){return A===t||Tn(A,t,lo(t))},De.isMatchWith=function(A,t,n){return n=\"function\"==typeof n?n:e,Tn(A,t,lo(t),n)},De.isNaN=function(A){return as(A)&&A!=+A},De.isNative=function(A){if(yo(A))throw new yA(\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\");return xn(A)},De.isNil=function(A){return null==A},De.isNull=function(A){return null===A},De.isNumber=as,De.isObject=os,De.isObjectLike=is,De.isPlainObject=us,De.isRegExp=cs,De.isSafeInteger=function(A){return ns(A)&&A>=-9007199254740991&&A<=f},De.isSet=ls,De.isString=fs,De.isSymbol=hs,De.isTypedArray=Bs,De.isUndefined=function(A){return A===e},De.isWeakMap=function(A){return is(A)&&po(A)==K},De.isWeakSet=function(A){return is(A)&&\"[object WeakSet]\"==mn(A)},De.join=function(A,t){return null==A?\"\":ge.call(A,t)},De.kebabCase=Ws,De.last=ti,De.lastIndexOf=function(A,t,n){var r=null==A?0:A.length;if(!r)return-1;var o=r;return n!==e&&(o=(o=Qs(n))<0?we(r+o,0):Qe(o,r-1)),t==t?function(A,t,e){for(var n=e+1;n--;)if(A[n]===t)return n;return n}(A,t,o):Lt(A,kt,o,!0)},De.lowerCase=Ys,De.lowerFirst=qs,De.lt=ps,De.lte=gs,De.max=function(A){return A&&A.length?gn(A,aa,_n):e},De.maxBy=function(A,t){return A&&A.length?gn(A,uo(t,2),_n):e},De.mean=function(A){return Pt(A,aa)},De.meanBy=function(A,t){return Pt(A,uo(t,2))},De.min=function(A){return A&&A.length?gn(A,aa,Mn):e},De.minBy=function(A,t){return A&&A.length?gn(A,uo(t,2),Mn):e},De.stubArray=va,De.stubFalse=Ua,De.stubObject=function(){return{}},De.stubString=function(){return\"\"},De.stubTrue=function(){return!0},De.multiply=_a,De.nth=function(A,t){return A&&A.length?Vn(A,Qs(t)):e},De.noConflict=function(){return lt._===this&&(lt._=kA),this},De.noop=ha,De.now=Ki,De.pad=function(A,t,e){A=Es(A);var n=(t=Qs(t))?ue(A):0;if(!t||n>=t)return A;var r=(t-n)/2;return Xr(St(r),e)+A+Xr(gt(r),e)},De.padEnd=function(A,t,e){A=Es(A);var n=(t=Qs(t))?ue(A):0;return t&&n<t?A+Xr(t-n,e):A},De.padStart=function(A,t,e){A=Es(A);var n=(t=Qs(t))?ue(A):0;return t&&n<t?Xr(t-n,e)+A:A},De.parseInt=function(A,t,e){return e||null==t?t=0:t&&(t=+t),Ue(Es(A).replace(rA,\"\"),t||0)},De.random=function(A,t,n){if(n&&\"boolean\"!=typeof n&&Uo(A,t,n)&&(t=n=e),n===e&&(\"boolean\"==typeof t?(n=t,t=e):\"boolean\"==typeof A&&(n=A,A=e)),A===e&&t===e?(A=0,t=1):(A=ws(A),t===e?(t=A,A=0):t=ws(t)),A>t){var r=A;A=t,t=r}if(n||A%1||t%1){var o=Ce();return Qe(A+o*(t-A+st(\"1e-\"+((o+\"\").length-1))),t)}return Wn(A,t)},De.reduce=function(A,t,e){var n=Wi(A)?Ot:Xt,r=arguments.length<3;return n(A,uo(t,4),e,r,hn)},De.reduceRight=function(A,t,e){var n=Wi(A)?Tt:Xt,r=arguments.length<3;return n(A,uo(t,4),e,r,Bn)},De.repeat=function(A,t,n){return t=(n?Uo(A,t,n):t===e)?1:Qs(t),Yn(Es(A),t)},De.replace=function(){var A=arguments,t=Es(A[0]);return A.length<3?t:t.replace(A[1],A[2])},De.result=function(A,t,n){var r=-1,o=(t=vr(t,A)).length;for(o||(o=1,A=e);++r<o;){var i=null==A?e:A[Po(t[r])];i===e&&(r=o,i=n),A=es(i)?i.call(A):i}return A},De.round=Ha,De.runInContext=A,De.sample=function(A){return(Wi(A)?qe:$n)(A)},De.size=function(A){if(null==A)return 0;if(qi(A))return fs(A)?ue(A):A.length;var t=po(A);return t==E||t==H?A.size:Rn(A).length},De.snakeCase=$s,De.some=function(A,t,n){var r=Wi(A)?xt:or;return n&&Uo(A,t,n)&&(t=e),r(A,uo(t,3))},De.sortedIndex=function(A,t){return ir(A,t)},De.sortedIndexBy=function(A,t,e){return sr(A,t,uo(e,2))},De.sortedIndexOf=function(A,t){var e=null==A?0:A.length;if(e){var n=ir(A,t);if(n<e&&Xi(A[n],t))return n}return-1},De.sortedLastIndex=function(A,t){return ir(A,t,!0)},De.sortedLastIndexBy=function(A,t,e){return sr(A,t,uo(e,2),!0)},De.sortedLastIndexOf=function(A,t){if(null==A?0:A.length){var e=ir(A,t,!0)-1;if(Xi(A[e],t))return e}return-1},De.startCase=Zs,De.startsWith=function(A,t,e){return A=Es(A),e=null==e?0:an(Qs(e),0,A.length),t=cr(t),A.slice(e,e+t.length)==t},De.subtract=ba,De.sum=function(A){return A&&A.length?Jt(A,aa):0},De.sumBy=function(A,t){return A&&A.length?Jt(A,uo(t,2)):0},De.template=function(A,t,n){var r=De.templateSettings;n&&Uo(A,t,n)&&(t=e),A=Es(A),t=ms({},t,r,Zr);var o,i,s=ms({},t.imports,r.imports,Zr),a=Ss(s),u=Yt(s,a),c=0,l=t.interpolate||vA,f=\"__p += '\",h=HA((t.escape||vA).source+\"|\"+l.source+\"|\"+(l===$?fA:vA).source+\"|\"+(t.evaluate||vA).source+\"|$\",\"g\"),B=\"//# sourceURL=\"+(SA.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/\\s/g,\" \"):\"lodash.templateSources[\"+ ++nt+\"]\")+\"\\n\";A.replace(h,(function(t,e,n,r,s,a){return n||(n=r),f+=A.slice(c,a).replace(UA,ne),e&&(o=!0,f+=\"' +\\n__e(\"+e+\") +\\n'\"),s&&(i=!0,f+=\"';\\n\"+s+\";\\n__p += '\"),n&&(f+=\"' +\\n((__t = (\"+n+\")) == null ? '' : __t) +\\n'\"),c=a+t.length,t})),f+=\"';\\n\";var p=SA.call(t,\"variable\")&&t.variable;if(p){if(cA.test(p))throw new yA(\"Invalid `variable` option passed into `_.template`\")}else f=\"with (obj) {\\n\"+f+\"\\n}\\n\";f=(i?f.replace(z,\"\"):f).replace(V,\"$1\").replace(X,\"$1;\"),f=\"function(\"+(p||\"obj\")+\") {\\n\"+(p?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(o?\", __e = _.escape\":\"\")+(i?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+f+\"return __p\\n}\";var g=na((function(){return FA(a,B+\"return \"+f).apply(e,u)}));if(g.source=f,ts(g))throw g;return g},De.times=function(A,t){if((A=Qs(A))<1||A>f)return[];var e=B,n=Qe(A,B);t=uo(t),A-=B;for(var r=Gt(n,t);++e<A;)t(e);return r},De.toFinite=ws,De.toInteger=Qs,De.toLength=vs,De.toLower=function(A){return Es(A).toLowerCase()},De.toNumber=Us,De.toSafeInteger=function(A){return A?an(Qs(A),-9007199254740991,f):0===A?A:0},De.toString=Es,De.toUpper=function(A){return Es(A).toUpperCase()},De.trim=function(A,t,n){if((A=Es(A))&&(n||t===e))return jt(A);if(!A||!(t=cr(t)))return A;var r=ce(A),o=ce(t);return Cr(r,$t(r,o),Zt(r,o)+1).join(\"\")},De.trimEnd=function(A,t,n){if((A=Es(A))&&(n||t===e))return A.slice(0,le(A)+1);if(!A||!(t=cr(t)))return A;var r=ce(A);return Cr(r,0,Zt(r,ce(t))+1).join(\"\")},De.trimStart=function(A,t,n){if((A=Es(A))&&(n||t===e))return A.replace(rA,\"\");if(!A||!(t=cr(t)))return A;var r=ce(A);return Cr(r,$t(r,ce(t))).join(\"\")},De.truncate=function(A,t){var n=30,r=\"...\";if(os(t)){var o=\"separator\"in t?t.separator:o;n=\"length\"in t?Qs(t.length):n,r=\"omission\"in t?cr(t.omission):r}var i=(A=Es(A)).length;if(re(A)){var s=ce(A);i=s.length}if(n>=i)return A;var a=n-ue(r);if(a<1)return r;var u=s?Cr(s,0,a).join(\"\"):A.slice(0,a);if(o===e)return u+r;if(s&&(a+=u.length-a),cs(o)){if(A.slice(a).search(o)){var c,l=u;for(o.global||(o=HA(o.source,Es(hA.exec(o))+\"g\")),o.lastIndex=0;c=o.exec(l);)var f=c.index;u=u.slice(0,f===e?a:f)}}else if(A.indexOf(cr(o),a)!=a){var h=u.lastIndexOf(o);h>-1&&(u=u.slice(0,h))}return u+r},De.unescape=function(A){return(A=Es(A))&&j.test(A)?A.replace(J,fe):A},De.uniqueId=function(A){var t=++RA;return Es(A)+t},De.upperCase=Aa,De.upperFirst=ta,De.each=Ei,De.eachRight=yi,De.first=qo,fa(De,(ma={},Un(De,(function(A,t){SA.call(De.prototype,t)||(ma[t]=A)})),ma),{chain:!1}),De.VERSION=\"4.17.21\",Ft([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],(function(A){De[A].placeholder=De})),Ft([\"drop\",\"take\"],(function(A,t){Ve.prototype[A]=function(n){n=n===e?1:we(Qs(n),0);var r=this.__filtered__&&!t?new Ve(this):this.clone();return r.__filtered__?r.__takeCount__=Qe(n,r.__takeCount__):r.__views__.push({size:Qe(n,B),type:A+(r.__dir__<0?\"Right\":\"\")}),r},Ve.prototype[A+\"Right\"]=function(t){return this.reverse()[A](t).reverse()}})),Ft([\"filter\",\"map\",\"takeWhile\"],(function(A,t){var e=t+1,n=1==e||3==e;Ve.prototype[A]=function(A){var t=this.clone();return t.__iteratees__.push({iteratee:uo(A,3),type:e}),t.__filtered__=t.__filtered__||n,t}})),Ft([\"head\",\"last\"],(function(A,t){var e=\"take\"+(t?\"Right\":\"\");Ve.prototype[A]=function(){return this[e](1).value()[0]}})),Ft([\"initial\",\"tail\"],(function(A,t){var e=\"drop\"+(t?\"\":\"Right\");Ve.prototype[A]=function(){return this.__filtered__?new Ve(this):this[e](1)}})),Ve.prototype.compact=function(){return this.filter(aa)},Ve.prototype.find=function(A){return this.filter(A).head()},Ve.prototype.findLast=function(A){return this.reverse().find(A)},Ve.prototype.invokeMap=qn((function(A,t){return\"function\"==typeof A?new Ve(this):this.map((function(e){return Kn(e,A,t)}))})),Ve.prototype.reject=function(A){return this.filter(Di(uo(A)))},Ve.prototype.slice=function(A,t){A=Qs(A);var n=this;return n.__filtered__&&(A>0||t<0)?new Ve(n):(A<0?n=n.takeRight(-A):A&&(n=n.drop(A)),t!==e&&(n=(t=Qs(t))<0?n.dropRight(-t):n.take(t-A)),n)},Ve.prototype.takeRightWhile=function(A){return this.reverse().takeWhile(A).reverse()},Ve.prototype.toArray=function(){return this.take(B)},Un(Ve.prototype,(function(A,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),o=De[r?\"take\"+(\"last\"==t?\"Right\":\"\"):t],i=r||/^find/.test(t);o&&(De.prototype[t]=function(){var t=this.__wrapped__,s=r?[1]:arguments,a=t instanceof Ve,u=s[0],c=a||Wi(t),l=function(A){var t=o.apply(De,It([A],s));return r&&f?t[0]:t};c&&n&&\"function\"==typeof u&&1!=u.length&&(a=c=!1);var f=this.__chain__,h=!!this.__actions__.length,B=i&&!f,p=a&&!h;if(!i&&c){t=p?t:new Ve(this);var g=A.apply(t,s);return g.__actions__.push({func:wi,args:[l],thisArg:e}),new ze(g,f)}return B&&p?A.apply(this,s):(g=this.thru(l),B?r?g.value()[0]:g.value():g)})})),Ft([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],(function(A){var t=KA[A],e=/^(?:push|sort|unshift)$/.test(A)?\"tap\":\"thru\",n=/^(?:pop|shift)$/.test(A);De.prototype[A]=function(){var A=arguments;if(n&&!this.__chain__){var r=this.value();return t.apply(Wi(r)?r:[],A)}return this[e]((function(e){return t.apply(Wi(e)?e:[],A)}))}})),Un(Ve.prototype,(function(A,t){var e=De[t];if(e){var n=e.name+\"\";SA.call(Ke,n)||(Ke[n]=[]),Ke[n].push({name:t,func:e})}})),Ke[kr(e,2).name]=[{name:\"wrapper\",func:e}],Ve.prototype.clone=function(){var A=new Ve(this.__wrapped__);return A.__actions__=Nr(this.__actions__),A.__dir__=this.__dir__,A.__filtered__=this.__filtered__,A.__iteratees__=Nr(this.__iteratees__),A.__takeCount__=this.__takeCount__,A.__views__=Nr(this.__views__),A},Ve.prototype.reverse=function(){if(this.__filtered__){var A=new Ve(this);A.__dir__=-1,A.__filtered__=!0}else(A=this.clone()).__dir__*=-1;return A},Ve.prototype.value=function(){var A=this.__wrapped__.value(),t=this.__dir__,e=Wi(A),n=t<0,r=e?A.length:0,o=function(A,t,e){var n=-1,r=e.length;for(;++n<r;){var o=e[n],i=o.size;switch(o.type){case\"drop\":A+=i;break;case\"dropRight\":t-=i;break;case\"take\":t=Qe(t,A+i);break;case\"takeRight\":A=we(A,t-i)}}return{start:A,end:t}}(0,r,this.__views__),i=o.start,s=o.end,a=s-i,u=n?s:i-1,c=this.__iteratees__,l=c.length,f=0,h=Qe(a,this.__takeCount__);if(!e||!n&&r==a&&h==a)return pr(A,this.__actions__);var B=[];A:for(;a--&&f<h;){for(var p=-1,g=A[u+=t];++p<l;){var d=c[p],w=d.iteratee,Q=d.type,v=w(g);if(2==Q)g=v;else if(!v){if(1==Q)continue A;break A}}B[f++]=g}return B},De.prototype.at=Qi,De.prototype.chain=function(){return di(this)},De.prototype.commit=function(){return new ze(this.value(),this.__chain__)},De.prototype.next=function(){this.__values__===e&&(this.__values__=ds(this.value()));var A=this.__index__>=this.__values__.length;return{done:A,value:A?e:this.__values__[this.__index__++]}},De.prototype.plant=function(A){for(var t,n=this;n instanceof Pe;){var r=Vo(n);r.__index__=0,r.__values__=e,t?o.__wrapped__=r:t=r;var o=r;n=n.__wrapped__}return o.__wrapped__=A,t},De.prototype.reverse=function(){var A=this.__wrapped__;if(A instanceof Ve){var t=A;return this.__actions__.length&&(t=new Ve(this)),(t=t.reverse()).__actions__.push({func:wi,args:[oi],thisArg:e}),new ze(t,this.__chain__)}return this.thru(oi)},De.prototype.toJSON=De.prototype.valueOf=De.prototype.value=function(){return pr(this.__wrapped__,this.__actions__)},De.prototype.first=De.prototype.head,it&&(De.prototype[it]=function(){return this}),De}();ht?((ht.exports=he)._=he,ft._=he):lt._=he}).call(ba)}));\n/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */var Tp=function(A){for(var t=A.length/6|0,e=new Array(t),n=0;n<t;)e[n]=\"#\"+A.slice(6*n,6*++n);return e}(\"a6cee31f78b4b2df8a33a02cfb9a99e31a1cfdbf6fff7f00cab2d66a3d9affff99b15928\");function xp(A,t){switch(arguments.length){case 0:break;case 1:this.range(A);break;default:this.range(t).domain(A)}return this}const Sp=Symbol(\"implicit\");function Rp(){var A=new Map,t=[],e=[],n=Sp;function r(r){var o=r+\"\",i=A.get(o);if(!i){if(n!==Sp)return n;A.set(o,i=t.push(r))}return e[(i-1)%e.length]}return r.domain=function(e){if(!arguments.length)return t.slice();t=[],A=new Map;for(const n of e){const e=n+\"\";A.has(e)||A.set(e,t.push(n))}return r},r.range=function(A){return arguments.length?(e=Array.from(A),r):e.slice()},r.unknown=function(A){return arguments.length?(n=A,r):n},r.copy=function(){return Rp(t,e).unknown(n)},xp.apply(r,arguments),r}function Lp(A){return(Lp=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(A){return typeof A}:function(A){return A&&\"function\"==typeof Symbol&&A.constructor===Symbol&&A!==Symbol.prototype?\"symbol\":typeof A})(A)}function Mp(A,t){if(!(A instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function Dp(A,t){for(var e=0;e<t.length;e++){var n=t[e];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(A,n.key,n)}}function kp(A,t,e){return t&&Dp(A.prototype,t),e&&Dp(A,e),Object.defineProperty(A,\"prototype\",{writable:!1}),A}function Pp(A){if(void 0===A)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return A}function zp(A,t){return(zp=Object.setPrototypeOf||function(A,t){return A.__proto__=t,A})(A,t)}function Vp(A,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");A.prototype=Object.create(t&&t.prototype,{constructor:{value:A,writable:!0,configurable:!0}}),Object.defineProperty(A,\"prototype\",{writable:!1}),t&&zp(A,t)}function Xp(A,t){if(t&&(\"object\"===Lp(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return Pp(A)}function Jp(A){return(Jp=Object.setPrototypeOf?Object.getPrototypeOf:function(A){return A.__proto__||Object.getPrototypeOf(A)})(A)}function Gp(A,t,e){return t in A?Object.defineProperty(A,t,{value:e,enumerable:!0,configurable:!0,writable:!0}):A[t]=e,A}function jp(A,t){(null==t||t>A.length)&&(t=A.length);for(var e=0,n=new Array(t);e<t;e++)n[e]=A[e];return n}function Wp(A){return function(A){if(Array.isArray(A))return A}(A)||function(A){if(\"undefined\"!=typeof Symbol&&null!=A[Symbol.iterator]||null!=A[\"@@iterator\"])return Array.from(A)}(A)||function(A,t){if(A){if(\"string\"==typeof A)return jp(A,t);var e=Object.prototype.toString.call(A).slice(8,-1);return\"Object\"===e&&A.constructor&&(e=A.constructor.name),\"Map\"===e||\"Set\"===e?Array.from(A):\"Arguments\"===e||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(e)?jp(A,t):void 0}}(A)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function Yp(A,t){var e=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(A,t).enumerable}))),e.push.apply(e,n)}return e}function qp(A){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?Yp(Object(e),!0).forEach((function(t){Gp(A,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(e)):Yp(Object(e)).forEach((function(t){Object.defineProperty(A,t,Object.getOwnPropertyDescriptor(e,t))}))}return A}var $p={type:\"logger\",log:function(A){this.output(\"log\",A)},warn:function(A){this.output(\"warn\",A)},error:function(A){this.output(\"error\",A)},output:function(A,t){console&&console[A]&&console[A].apply(console,t)}},Zp=new(function(){function A(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Mp(this,A),this.init(t,e)}return kp(A,[{key:\"init\",value:function(A){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this.prefix=t.prefix||\"i18next:\",this.logger=A||$p,this.options=t,this.debug=t.debug}},{key:\"setDebug\",value:function(A){this.debug=A}},{key:\"log\",value:function(){for(var A=arguments.length,t=new Array(A),e=0;e<A;e++)t[e]=arguments[e];return this.forward(t,\"log\",\"\",!0)}},{key:\"warn\",value:function(){for(var A=arguments.length,t=new Array(A),e=0;e<A;e++)t[e]=arguments[e];return this.forward(t,\"warn\",\"\",!0)}},{key:\"error\",value:function(){for(var A=arguments.length,t=new Array(A),e=0;e<A;e++)t[e]=arguments[e];return this.forward(t,\"error\",\"\")}},{key:\"deprecate\",value:function(){for(var A=arguments.length,t=new Array(A),e=0;e<A;e++)t[e]=arguments[e];return this.forward(t,\"warn\",\"WARNING DEPRECATED: \",!0)}},{key:\"forward\",value:function(A,t,e,n){return n&&!this.debug?null:(\"string\"==typeof A[0]&&(A[0]=\"\".concat(e).concat(this.prefix,\" \").concat(A[0])),this.logger[t](A))}},{key:\"create\",value:function(t){return new A(this.logger,qp(qp({},{prefix:\"\".concat(this.prefix,\":\").concat(t,\":\")}),this.options))}}]),A}()),Ag=function(){function A(){Mp(this,A),this.observers={}}return kp(A,[{key:\"on\",value:function(A,t){var e=this;return A.split(\" \").forEach((function(A){e.observers[A]=e.observers[A]||[],e.observers[A].push(t)})),this}},{key:\"off\",value:function(A,t){this.observers[A]&&(t?this.observers[A]=this.observers[A].filter((function(A){return A!==t})):delete this.observers[A])}},{key:\"emit\",value:function(A){for(var t=arguments.length,e=new Array(t>1?t-1:0),n=1;n<t;n++)e[n-1]=arguments[n];if(this.observers[A]){var r=[].concat(this.observers[A]);r.forEach((function(A){A.apply(void 0,e)}))}if(this.observers[\"*\"]){var o=[].concat(this.observers[\"*\"]);o.forEach((function(t){t.apply(t,[A].concat(e))}))}}}]),A}();function tg(){var A,t,e=new Promise((function(e,n){A=e,t=n}));return e.resolve=A,e.reject=t,e}function eg(A){return null==A?\"\":\"\"+A}function ng(A,t,e){A.forEach((function(A){t[A]&&(e[A]=t[A])}))}function rg(A,t,e){function n(A){return A&&A.indexOf(\"###\")>-1?A.replace(/###/g,\".\"):A}function r(){return!A||\"string\"==typeof A}for(var o=\"string\"!=typeof t?[].concat(t):t.split(\".\");o.length>1;){if(r())return{};var i=n(o.shift());!A[i]&&e&&(A[i]=new e),A=Object.prototype.hasOwnProperty.call(A,i)?A[i]:{}}return r()?{}:{obj:A,k:n(o.shift())}}function og(A,t,e){var n=rg(A,t,Object);n.obj[n.k]=e}function ig(A,t){var e=rg(A,t),n=e.obj,r=e.k;if(n)return n[r]}function sg(A,t,e){var n=ig(A,e);return void 0!==n?n:ig(t,e)}function ag(A,t,e){for(var n in t)\"__proto__\"!==n&&\"constructor\"!==n&&(n in A?\"string\"==typeof A[n]||A[n]instanceof String||\"string\"==typeof t[n]||t[n]instanceof String?e&&(A[n]=t[n]):ag(A[n],t[n],e):A[n]=t[n]);return A}function ug(A){return A.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g,\"\\\\$&\")}var cg={\"&\":\"&amp;\",\"<\":\"&lt;\",\">\":\"&gt;\",'\"':\"&quot;\",\"'\":\"&#39;\",\"/\":\"&#x2F;\"};function lg(A){return\"string\"==typeof A?A.replace(/[&<>\"'\\/]/g,(function(A){return cg[A]})):A}var fg=\"undefined\"!=typeof window&&window.navigator&&window.navigator.userAgent&&window.navigator.userAgent.indexOf(\"MSIE\")>-1,hg=[\" \",\",\",\"?\",\"!\",\";\"];function Bg(A,t){var e=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(A,t).enumerable}))),e.push.apply(e,n)}return e}function pg(A){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?Bg(Object(e),!0).forEach((function(t){Gp(A,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(e)):Bg(Object(e)).forEach((function(t){Object.defineProperty(A,t,Object.getOwnPropertyDescriptor(e,t))}))}return A}function gg(A){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var e,n=Jp(A);if(t){var r=Jp(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return Xp(this,e)}}function dg(A,t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:\".\";if(A){if(A[t])return A[t];for(var n=t.split(e),r=A,o=0;o<n.length;++o){if(!r)return;if(\"string\"==typeof r[n[o]]&&o+1<n.length)return;if(void 0===r[n[o]]){for(var i=2,s=n.slice(o,o+i).join(e),a=r[s];void 0===a&&n.length>o+i;)i++,a=r[s=n.slice(o,o+i).join(e)];if(void 0===a)return;if(t.endsWith(s)){if(\"string\"==typeof a)return a;if(s&&\"string\"==typeof a[s])return a[s]}var u=n.slice(o+i).join(e);return u?dg(a,u,e):void 0}r=r[n[o]]}return r}}var wg=function(A){Vp(e,Ag);var t=gg(e);function e(A){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{ns:[\"translation\"],defaultNS:\"translation\"};return Mp(this,e),n=t.call(this),fg&&Ag.call(Pp(n)),n.data=A||{},n.options=r,void 0===n.options.keySeparator&&(n.options.keySeparator=\".\"),void 0===n.options.ignoreJSONStructure&&(n.options.ignoreJSONStructure=!0),n}return kp(e,[{key:\"addNamespaces\",value:function(A){this.options.ns.indexOf(A)<0&&this.options.ns.push(A)}},{key:\"removeNamespaces\",value:function(A){var t=this.options.ns.indexOf(A);t>-1&&this.options.ns.splice(t,1)}},{key:\"getResource\",value:function(A,t,e){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=void 0!==n.keySeparator?n.keySeparator:this.options.keySeparator,o=void 0!==n.ignoreJSONStructure?n.ignoreJSONStructure:this.options.ignoreJSONStructure,i=[A,t];e&&\"string\"!=typeof e&&(i=i.concat(e)),e&&\"string\"==typeof e&&(i=i.concat(r?e.split(r):e)),A.indexOf(\".\")>-1&&(i=A.split(\".\"));var s=ig(this.data,i);return s||!o||\"string\"!=typeof e?s:dg(this.data&&this.data[A]&&this.data[A][t],e,r)}},{key:\"addResource\",value:function(A,t,e,n){var r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:{silent:!1},o=this.options.keySeparator;void 0===o&&(o=\".\");var i=[A,t];e&&(i=i.concat(o?e.split(o):e)),A.indexOf(\".\")>-1&&(n=t,t=(i=A.split(\".\"))[1]),this.addNamespaces(t),og(this.data,i,n),r.silent||this.emit(\"added\",A,t,e,n)}},{key:\"addResources\",value:function(A,t,e){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{silent:!1};for(var r in e)\"string\"!=typeof e[r]&&\"[object Array]\"!==Object.prototype.toString.apply(e[r])||this.addResource(A,t,r,e[r],{silent:!0});n.silent||this.emit(\"added\",A,t,e)}},{key:\"addResourceBundle\",value:function(A,t,e,n,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{silent:!1},i=[A,t];A.indexOf(\".\")>-1&&(n=e,e=t,t=(i=A.split(\".\"))[1]),this.addNamespaces(t);var s=ig(this.data,i)||{};n?ag(s,e,r):s=pg(pg({},s),e),og(this.data,i,s),o.silent||this.emit(\"added\",A,t,e)}},{key:\"removeResourceBundle\",value:function(A,t){this.hasResourceBundle(A,t)&&delete this.data[A][t],this.removeNamespaces(t),this.emit(\"removed\",A,t)}},{key:\"hasResourceBundle\",value:function(A,t){return void 0!==this.getResource(A,t)}},{key:\"getResourceBundle\",value:function(A,t){return t||(t=this.options.defaultNS),\"v1\"===this.options.compatibilityAPI?pg(pg({},{}),this.getResource(A,t)):this.getResource(A,t)}},{key:\"getDataByLanguage\",value:function(A){return this.data[A]}},{key:\"hasLanguageSomeTranslations\",value:function(A){var t=this.getDataByLanguage(A);return!!(t&&Object.keys(t)||[]).find((function(A){return t[A]&&Object.keys(t[A]).length>0}))}},{key:\"toJSON\",value:function(){return this.data}}]),e}(),Qg={processors:{},addPostProcessor:function(A){this.processors[A.name]=A},handle:function(A,t,e,n,r){var o=this;return A.forEach((function(A){o.processors[A]&&(t=o.processors[A].process(t,e,n,r))})),t}};function vg(A,t){var e=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(A,t).enumerable}))),e.push.apply(e,n)}return e}function Ug(A){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?vg(Object(e),!0).forEach((function(t){Gp(A,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(e)):vg(Object(e)).forEach((function(t){Object.defineProperty(A,t,Object.getOwnPropertyDescriptor(e,t))}))}return A}function Cg(A){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var e,n=Jp(A);if(t){var r=Jp(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return Xp(this,e)}}var Eg={},yg=function(A){Vp(e,Ag);var t=Cg(e);function e(A){var n,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return Mp(this,e),n=t.call(this),fg&&Ag.call(Pp(n)),ng([\"resourceStore\",\"languageUtils\",\"pluralResolver\",\"interpolator\",\"backendConnector\",\"i18nFormat\",\"utils\"],A,Pp(n)),n.options=r,void 0===n.options.keySeparator&&(n.options.keySeparator=\".\"),n.logger=Zp.create(\"translator\"),n}return kp(e,[{key:\"changeLanguage\",value:function(A){A&&(this.language=A)}},{key:\"exists\",value:function(A){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}};if(null==A)return!1;var e=this.resolve(A,t);return e&&void 0!==e.res}},{key:\"extractFromKey\",value:function(A,t){var e=void 0!==t.nsSeparator?t.nsSeparator:this.options.nsSeparator;void 0===e&&(e=\":\");var n=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,r=t.ns||this.options.defaultNS||[],o=e&&A.indexOf(e)>-1,i=!(this.options.userDefinedKeySeparator||t.keySeparator||this.options.userDefinedNsSeparator||t.nsSeparator||function(A,t,e){t=t||\"\",e=e||\"\";var n=hg.filter((function(A){return t.indexOf(A)<0&&e.indexOf(A)<0}));if(0===n.length)return!0;var r=new RegExp(\"(\".concat(n.map((function(A){return\"?\"===A?\"\\\\?\":A})).join(\"|\"),\")\")),o=!r.test(A);if(!o){var i=A.indexOf(e);i>0&&!r.test(A.substring(0,i))&&(o=!0)}return o}(A,e,n));if(o&&!i){var s=A.match(this.interpolator.nestingRegexp);if(s&&s.length>0)return{key:A,namespaces:r};var a=A.split(e);(e!==n||e===n&&this.options.ns.indexOf(a[0])>-1)&&(r=a.shift()),A=a.join(n)}return\"string\"==typeof r&&(r=[r]),{key:A,namespaces:r}}},{key:\"translate\",value:function(A,t,n){var r=this;if(\"object\"!==Lp(t)&&this.options.overloadTranslationOptionHandler&&(t=this.options.overloadTranslationOptionHandler(arguments)),t||(t={}),null==A)return\"\";Array.isArray(A)||(A=[String(A)]);var o=void 0!==t.keySeparator?t.keySeparator:this.options.keySeparator,i=this.extractFromKey(A[A.length-1],t),s=i.key,a=i.namespaces,u=a[a.length-1],c=t.lng||this.language,l=t.appendNamespaceToCIMode||this.options.appendNamespaceToCIMode;if(c&&\"cimode\"===c.toLowerCase()){if(l){var f=t.nsSeparator||this.options.nsSeparator;return u+f+s}return s}var h=this.resolve(A,t),B=h&&h.res,p=h&&h.usedKey||s,g=h&&h.exactUsedKey||s,d=Object.prototype.toString.apply(B),w=[\"[object Number]\",\"[object Function]\",\"[object RegExp]\"],Q=void 0!==t.joinArrays?t.joinArrays:this.options.joinArrays,v=!this.i18nFormat||this.i18nFormat.handleAsObject,U=\"string\"!=typeof B&&\"boolean\"!=typeof B&&\"number\"!=typeof B;if(v&&B&&U&&w.indexOf(d)<0&&(\"string\"!=typeof Q||\"[object Array]\"!==d)){if(!t.returnObjects&&!this.options.returnObjects)return this.options.returnedObjectHandler||this.logger.warn(\"accessing an object - but returnObjects options is not enabled!\"),this.options.returnedObjectHandler?this.options.returnedObjectHandler(p,B,Ug(Ug({},t),{},{ns:a})):\"key '\".concat(s,\" (\").concat(this.language,\")' returned an object instead of string.\");if(o){var C=\"[object Array]\"===d,E=C?[]:{},y=C?g:p;for(var F in B)if(Object.prototype.hasOwnProperty.call(B,F)){var m=\"\".concat(y).concat(o).concat(F);E[F]=this.translate(m,Ug(Ug({},t),{joinArrays:!1,ns:a})),E[F]===m&&(E[F]=B[F])}B=E}}else if(v&&\"string\"==typeof Q&&\"[object Array]\"===d)(B=B.join(Q))&&(B=this.extendTranslation(B,A,t,n));else{var _=!1,H=!1,b=void 0!==t.count&&\"string\"!=typeof t.count,N=e.hasDefaultValue(t),K=b?this.pluralResolver.getSuffix(c,t.count,t):\"\",I=t[\"defaultValue\".concat(K)]||t.defaultValue;!this.isValidLookup(B)&&N&&(_=!0,B=I),this.isValidLookup(B)||(H=!0,B=s);var O=t.missingKeyNoValueFallbackToKey||this.options.missingKeyNoValueFallbackToKey,T=O&&H?void 0:B,x=N&&I!==B&&this.options.updateMissing;if(H||_||x){if(this.logger.log(x?\"updateKey\":\"missingKey\",c,u,s,x?I:B),o){var S=this.resolve(s,Ug(Ug({},t),{},{keySeparator:!1}));S&&S.res&&this.logger.warn(\"Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.\")}var R=[],L=this.languageUtils.getFallbackCodes(this.options.fallbackLng,t.lng||this.language);if(\"fallback\"===this.options.saveMissingTo&&L&&L[0])for(var M=0;M<L.length;M++)R.push(L[M]);else\"all\"===this.options.saveMissingTo?R=this.languageUtils.toResolveHierarchy(t.lng||this.language):R.push(t.lng||this.language);var D=function(A,e,n){var o=N&&n!==B?n:T;r.options.missingKeyHandler?r.options.missingKeyHandler(A,u,e,o,x,t):r.backendConnector&&r.backendConnector.saveMissing&&r.backendConnector.saveMissing(A,u,e,o,x,t),r.emit(\"missingKey\",A,u,e,B)};this.options.saveMissing&&(this.options.saveMissingPlurals&&b?R.forEach((function(A){r.pluralResolver.getSuffixes(A).forEach((function(e){D([A],s+e,t[\"defaultValue\".concat(e)]||I)}))})):D(R,s,I))}B=this.extendTranslation(B,A,t,h,n),H&&B===s&&this.options.appendNamespaceToMissingKey&&(B=\"\".concat(u,\":\").concat(s)),(H||_)&&this.options.parseMissingKeyHandler&&(B=this.options.parseMissingKeyHandler(B))}return B}},{key:\"extendTranslation\",value:function(A,t,e,n,r){var o=this;if(this.i18nFormat&&this.i18nFormat.parse)A=this.i18nFormat.parse(A,e,n.usedLng,n.usedNS,n.usedKey,{resolved:n});else if(!e.skipInterpolation){e.interpolation&&this.interpolator.init(Ug(Ug({},e),{interpolation:Ug(Ug({},this.options.interpolation),e.interpolation)}));var i,s=\"string\"==typeof A&&(e.interpolation&&e.interpolation.skipOnVariables||this.options.interpolation.skipOnVariables);if(s){var a=A.match(this.interpolator.nestingRegexp);i=a&&a.length}var u=e.replace&&\"string\"!=typeof e.replace?e.replace:e;if(this.options.interpolation.defaultVariables&&(u=Ug(Ug({},this.options.interpolation.defaultVariables),u)),A=this.interpolator.interpolate(A,u,e.lng||this.language,e),s){var c=A.match(this.interpolator.nestingRegexp);i<(c&&c.length)&&(e.nest=!1)}!1!==e.nest&&(A=this.interpolator.nest(A,(function(){for(var A=arguments.length,n=new Array(A),i=0;i<A;i++)n[i]=arguments[i];return r&&r[0]===n[0]&&!e.context?(o.logger.warn(\"It seems you are nesting recursively key: \".concat(n[0],\" in key: \").concat(t[0])),null):o.translate.apply(o,n.concat([t]))}),e)),e.interpolation&&this.interpolator.reset()}var l=e.postProcess||this.options.postProcess,f=\"string\"==typeof l?[l]:l;return null!=A&&f&&f.length&&!1!==e.applyPostProcessor&&(A=Qg.handle(f,A,t,this.options&&this.options.postProcessPassResolved?Ug({i18nResolved:n},e):e,this)),A}},{key:\"resolve\",value:function(A){var t,e,n,r,o,i=this,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return\"string\"==typeof A&&(A=[A]),A.forEach((function(A){if(!i.isValidLookup(t)){var a=i.extractFromKey(A,s),u=a.key;e=u;var c=a.namespaces;i.options.fallbackNS&&(c=c.concat(i.options.fallbackNS));var l=void 0!==s.count&&\"string\"!=typeof s.count,f=l&&!s.ordinal&&0===s.count&&i.pluralResolver.shouldUseIntlApi(),h=void 0!==s.context&&(\"string\"==typeof s.context||\"number\"==typeof s.context)&&\"\"!==s.context,B=s.lngs?s.lngs:i.languageUtils.toResolveHierarchy(s.lng||i.language,s.fallbackLng);c.forEach((function(A){i.isValidLookup(t)||(o=A,!Eg[\"\".concat(B[0],\"-\").concat(A)]&&i.utils&&i.utils.hasLoadedNamespace&&!i.utils.hasLoadedNamespace(o)&&(Eg[\"\".concat(B[0],\"-\").concat(A)]=!0,i.logger.warn('key \"'.concat(e,'\" for languages \"').concat(B.join(\", \"),'\" won\\'t get resolved as namespace \"').concat(o,'\" was not yet loaded'),\"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!\")),B.forEach((function(e){if(!i.isValidLookup(t)){r=e;var o,a=[u];if(i.i18nFormat&&i.i18nFormat.addLookupKeys)i.i18nFormat.addLookupKeys(a,u,e,A,s);else{var c;l&&(c=i.pluralResolver.getSuffix(e,s.count,s));var B=\"_zero\";if(l&&(a.push(u+c),f&&a.push(u+B)),h){var p=\"\".concat(u).concat(i.options.contextSeparator).concat(s.context);a.push(p),l&&(a.push(p+c),f&&a.push(p+B))}}for(;o=a.pop();)i.isValidLookup(t)||(n=o,t=i.getResource(e,A,o,s))}})))}))}})),{res:t,usedKey:e,exactUsedKey:n,usedLng:r,usedNS:o}}},{key:\"isValidLookup\",value:function(A){return!(void 0===A||!this.options.returnNull&&null===A||!this.options.returnEmptyString&&\"\"===A)}},{key:\"getResource\",value:function(A,t,e){var n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return this.i18nFormat&&this.i18nFormat.getResource?this.i18nFormat.getResource(A,t,e,n):this.resourceStore.getResource(A,t,e,n)}}],[{key:\"hasDefaultValue\",value:function(A){var t=\"defaultValue\";for(var e in A)if(Object.prototype.hasOwnProperty.call(A,e)&&t===e.substring(0,t.length)&&void 0!==A[e])return!0;return!1}}]),e}();function Fg(A){return A.charAt(0).toUpperCase()+A.slice(1)}var mg=function(){function A(t){Mp(this,A),this.options=t,this.supportedLngs=this.options.supportedLngs||!1,this.logger=Zp.create(\"languageUtils\")}return kp(A,[{key:\"getScriptPartFromCode\",value:function(A){if(!A||A.indexOf(\"-\")<0)return null;var t=A.split(\"-\");return 2===t.length?null:(t.pop(),\"x\"===t[t.length-1].toLowerCase()?null:this.formatLanguageCode(t.join(\"-\")))}},{key:\"getLanguagePartFromCode\",value:function(A){if(!A||A.indexOf(\"-\")<0)return A;var t=A.split(\"-\");return this.formatLanguageCode(t[0])}},{key:\"formatLanguageCode\",value:function(A){if(\"string\"==typeof A&&A.indexOf(\"-\")>-1){var t=[\"hans\",\"hant\",\"latn\",\"cyrl\",\"cans\",\"mong\",\"arab\"],e=A.split(\"-\");return this.options.lowerCaseLng?e=e.map((function(A){return A.toLowerCase()})):2===e.length?(e[0]=e[0].toLowerCase(),e[1]=e[1].toUpperCase(),t.indexOf(e[1].toLowerCase())>-1&&(e[1]=Fg(e[1].toLowerCase()))):3===e.length&&(e[0]=e[0].toLowerCase(),2===e[1].length&&(e[1]=e[1].toUpperCase()),\"sgn\"!==e[0]&&2===e[2].length&&(e[2]=e[2].toUpperCase()),t.indexOf(e[1].toLowerCase())>-1&&(e[1]=Fg(e[1].toLowerCase())),t.indexOf(e[2].toLowerCase())>-1&&(e[2]=Fg(e[2].toLowerCase()))),e.join(\"-\")}return this.options.cleanCode||this.options.lowerCaseLng?A.toLowerCase():A}},{key:\"isSupportedCode\",value:function(A){return(\"languageOnly\"===this.options.load||this.options.nonExplicitSupportedLngs)&&(A=this.getLanguagePartFromCode(A)),!this.supportedLngs||!this.supportedLngs.length||this.supportedLngs.indexOf(A)>-1}},{key:\"getBestMatchFromCodes\",value:function(A){var t,e=this;return A?(A.forEach((function(A){if(!t){var n=e.formatLanguageCode(A);e.options.supportedLngs&&!e.isSupportedCode(n)||(t=n)}})),!t&&this.options.supportedLngs&&A.forEach((function(A){if(!t){var n=e.getLanguagePartFromCode(A);if(e.isSupportedCode(n))return t=n;t=e.options.supportedLngs.find((function(A){if(0===A.indexOf(n))return A}))}})),t||(t=this.getFallbackCodes(this.options.fallbackLng)[0]),t):null}},{key:\"getFallbackCodes\",value:function(A,t){if(!A)return[];if(\"function\"==typeof A&&(A=A(t)),\"string\"==typeof A&&(A=[A]),\"[object Array]\"===Object.prototype.toString.apply(A))return A;if(!t)return A.default||[];var e=A[t];return e||(e=A[this.getScriptPartFromCode(t)]),e||(e=A[this.formatLanguageCode(t)]),e||(e=A[this.getLanguagePartFromCode(t)]),e||(e=A.default),e||[]}},{key:\"toResolveHierarchy\",value:function(A,t){var e=this,n=this.getFallbackCodes(t||this.options.fallbackLng||[],A),r=[],o=function(A){A&&(e.isSupportedCode(A)?r.push(A):e.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(A)))};return\"string\"==typeof A&&A.indexOf(\"-\")>-1?(\"languageOnly\"!==this.options.load&&o(this.formatLanguageCode(A)),\"languageOnly\"!==this.options.load&&\"currentOnly\"!==this.options.load&&o(this.getScriptPartFromCode(A)),\"currentOnly\"!==this.options.load&&o(this.getLanguagePartFromCode(A))):\"string\"==typeof A&&o(this.formatLanguageCode(A)),n.forEach((function(A){r.indexOf(A)<0&&o(e.formatLanguageCode(A))})),r}}]),A}(),_g=[{lngs:[\"ach\",\"ak\",\"am\",\"arn\",\"br\",\"fil\",\"gun\",\"ln\",\"mfe\",\"mg\",\"mi\",\"oc\",\"pt\",\"pt-BR\",\"tg\",\"tl\",\"ti\",\"tr\",\"uz\",\"wa\"],nr:[1,2],fc:1},{lngs:[\"af\",\"an\",\"ast\",\"az\",\"bg\",\"bn\",\"ca\",\"da\",\"de\",\"dev\",\"el\",\"en\",\"eo\",\"es\",\"et\",\"eu\",\"fi\",\"fo\",\"fur\",\"fy\",\"gl\",\"gu\",\"ha\",\"hi\",\"hu\",\"hy\",\"ia\",\"it\",\"kk\",\"kn\",\"ku\",\"lb\",\"mai\",\"ml\",\"mn\",\"mr\",\"nah\",\"nap\",\"nb\",\"ne\",\"nl\",\"nn\",\"no\",\"nso\",\"pa\",\"pap\",\"pms\",\"ps\",\"pt-PT\",\"rm\",\"sco\",\"se\",\"si\",\"so\",\"son\",\"sq\",\"sv\",\"sw\",\"ta\",\"te\",\"tk\",\"ur\",\"yo\"],nr:[1,2],fc:2},{lngs:[\"ay\",\"bo\",\"cgg\",\"fa\",\"ht\",\"id\",\"ja\",\"jbo\",\"ka\",\"km\",\"ko\",\"ky\",\"lo\",\"ms\",\"sah\",\"su\",\"th\",\"tt\",\"ug\",\"vi\",\"wo\",\"zh\"],nr:[1],fc:3},{lngs:[\"be\",\"bs\",\"cnr\",\"dz\",\"hr\",\"ru\",\"sr\",\"uk\"],nr:[1,2,5],fc:4},{lngs:[\"ar\"],nr:[0,1,2,3,11,100],fc:5},{lngs:[\"cs\",\"sk\"],nr:[1,2,5],fc:6},{lngs:[\"csb\",\"pl\"],nr:[1,2,5],fc:7},{lngs:[\"cy\"],nr:[1,2,3,8],fc:8},{lngs:[\"fr\"],nr:[1,2],fc:9},{lngs:[\"ga\"],nr:[1,2,3,7,11],fc:10},{lngs:[\"gd\"],nr:[1,2,3,20],fc:11},{lngs:[\"is\"],nr:[1,2],fc:12},{lngs:[\"jv\"],nr:[0,1],fc:13},{lngs:[\"kw\"],nr:[1,2,3,4],fc:14},{lngs:[\"lt\"],nr:[1,2,10],fc:15},{lngs:[\"lv\"],nr:[1,2,0],fc:16},{lngs:[\"mk\"],nr:[1,2],fc:17},{lngs:[\"mnk\"],nr:[0,1,2],fc:18},{lngs:[\"mt\"],nr:[1,2,11,20],fc:19},{lngs:[\"or\"],nr:[2,1],fc:2},{lngs:[\"ro\"],nr:[1,2,20],fc:20},{lngs:[\"sl\"],nr:[5,1,2,3],fc:21},{lngs:[\"he\",\"iw\"],nr:[1,2,20,21],fc:22}],Hg={1:function(A){return Number(A>1)},2:function(A){return Number(1!=A)},3:function(A){return 0},4:function(A){return Number(A%10==1&&A%100!=11?0:A%10>=2&&A%10<=4&&(A%100<10||A%100>=20)?1:2)},5:function(A){return Number(0==A?0:1==A?1:2==A?2:A%100>=3&&A%100<=10?3:A%100>=11?4:5)},6:function(A){return Number(1==A?0:A>=2&&A<=4?1:2)},7:function(A){return Number(1==A?0:A%10>=2&&A%10<=4&&(A%100<10||A%100>=20)?1:2)},8:function(A){return Number(1==A?0:2==A?1:8!=A&&11!=A?2:3)},9:function(A){return Number(A>=2)},10:function(A){return Number(1==A?0:2==A?1:A<7?2:A<11?3:4)},11:function(A){return Number(1==A||11==A?0:2==A||12==A?1:A>2&&A<20?2:3)},12:function(A){return Number(A%10!=1||A%100==11)},13:function(A){return Number(0!==A)},14:function(A){return Number(1==A?0:2==A?1:3==A?2:3)},15:function(A){return Number(A%10==1&&A%100!=11?0:A%10>=2&&(A%100<10||A%100>=20)?1:2)},16:function(A){return Number(A%10==1&&A%100!=11?0:0!==A?1:2)},17:function(A){return Number(1==A||A%10==1&&A%100!=11?0:1)},18:function(A){return Number(0==A?0:1==A?1:2)},19:function(A){return Number(1==A?0:0==A||A%100>1&&A%100<11?1:A%100>10&&A%100<20?2:3)},20:function(A){return Number(1==A?0:0==A||A%100>0&&A%100<20?1:2)},21:function(A){return Number(A%100==1?1:A%100==2?2:A%100==3||A%100==4?3:0)},22:function(A){return Number(1==A?0:2==A?1:(A<0||A>10)&&A%10==0?2:3)}},bg=[\"v1\",\"v2\",\"v3\"],Ng={zero:0,one:1,two:2,few:3,many:4,other:5};function Kg(){var A={};return _g.forEach((function(t){t.lngs.forEach((function(e){A[e]={numbers:t.nr,plurals:Hg[t.fc]}}))})),A}var Ig=function(){function A(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};Mp(this,A),this.languageUtils=t,this.options=e,this.logger=Zp.create(\"pluralResolver\"),this.options.compatibilityJSON&&\"v4\"!==this.options.compatibilityJSON||\"undefined\"!=typeof Intl&&Intl.PluralRules||(this.options.compatibilityJSON=\"v3\",this.logger.error(\"Your environment seems not to be Intl API compatible, use an Intl.PluralRules polyfill. Will fallback to the compatibilityJSON v3 format handling.\")),this.rules=Kg()}return kp(A,[{key:\"addRule\",value:function(A,t){this.rules[A]=t}},{key:\"getRule\",value:function(A){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.shouldUseIntlApi())try{return new Intl.PluralRules(A,{type:t.ordinal?\"ordinal\":\"cardinal\"})}catch(e){return}return this.rules[A]||this.rules[this.languageUtils.getLanguagePartFromCode(A)]}},{key:\"needsPlural\",value:function(A){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},e=this.getRule(A,t);return this.shouldUseIntlApi()?e&&e.resolvedOptions().pluralCategories.length>1:e&&e.numbers.length>1}},{key:\"getPluralFormsOfKey\",value:function(A,t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.getSuffixes(A,e).map((function(A){return\"\".concat(t).concat(A)}))}},{key:\"getSuffixes\",value:function(A){var t=this,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=this.getRule(A,e);return n?this.shouldUseIntlApi()?n.resolvedOptions().pluralCategories.sort((function(A,t){return Ng[A]-Ng[t]})).map((function(A){return\"\".concat(t.options.prepend).concat(A)})):n.numbers.map((function(n){return t.getSuffix(A,n,e)})):[]}},{key:\"getSuffix\",value:function(A,t){var e=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=this.getRule(A,e);return n?this.shouldUseIntlApi()?\"\".concat(this.options.prepend).concat(n.select(t)):this.getSuffixRetroCompatible(n,t):(this.logger.warn(\"no plural rule found for: \".concat(A)),\"\")}},{key:\"getSuffixRetroCompatible\",value:function(A,t){var e=this,n=A.noAbs?A.plurals(t):A.plurals(Math.abs(t)),r=A.numbers[n];this.options.simplifyPluralSuffix&&2===A.numbers.length&&1===A.numbers[0]&&(2===r?r=\"plural\":1===r&&(r=\"\"));var o=function(){return e.options.prepend&&r.toString()?e.options.prepend+r.toString():r.toString()};return\"v1\"===this.options.compatibilityJSON?1===r?\"\":\"number\"==typeof r?\"_plural_\".concat(r.toString()):o():\"v2\"===this.options.compatibilityJSON||this.options.simplifyPluralSuffix&&2===A.numbers.length&&1===A.numbers[0]?o():this.options.prepend&&n.toString()?this.options.prepend+n.toString():n.toString()}},{key:\"shouldUseIntlApi\",value:function(){return!bg.includes(this.options.compatibilityJSON)}}]),A}();function Og(A,t){var e=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(A,t).enumerable}))),e.push.apply(e,n)}return e}function Tg(A){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?Og(Object(e),!0).forEach((function(t){Gp(A,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(e)):Og(Object(e)).forEach((function(t){Object.defineProperty(A,t,Object.getOwnPropertyDescriptor(e,t))}))}return A}var xg=function(){function A(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Mp(this,A),this.logger=Zp.create(\"interpolator\"),this.options=t,this.format=t.interpolation&&t.interpolation.format||function(A){return A},this.init(t)}return kp(A,[{key:\"init\",value:function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};A.interpolation||(A.interpolation={escapeValue:!0});var t=A.interpolation;this.escape=void 0!==t.escape?t.escape:lg,this.escapeValue=void 0===t.escapeValue||t.escapeValue,this.useRawValueToEscape=void 0!==t.useRawValueToEscape&&t.useRawValueToEscape,this.prefix=t.prefix?ug(t.prefix):t.prefixEscaped||\"{{\",this.suffix=t.suffix?ug(t.suffix):t.suffixEscaped||\"}}\",this.formatSeparator=t.formatSeparator?t.formatSeparator:t.formatSeparator||\",\",this.unescapePrefix=t.unescapeSuffix?\"\":t.unescapePrefix||\"-\",this.unescapeSuffix=this.unescapePrefix?\"\":t.unescapeSuffix||\"\",this.nestingPrefix=t.nestingPrefix?ug(t.nestingPrefix):t.nestingPrefixEscaped||ug(\"$t(\"),this.nestingSuffix=t.nestingSuffix?ug(t.nestingSuffix):t.nestingSuffixEscaped||ug(\")\"),this.nestingOptionsSeparator=t.nestingOptionsSeparator?t.nestingOptionsSeparator:t.nestingOptionsSeparator||\",\",this.maxReplaces=t.maxReplaces?t.maxReplaces:1e3,this.alwaysFormat=void 0!==t.alwaysFormat&&t.alwaysFormat,this.resetRegExp()}},{key:\"reset\",value:function(){this.options&&this.init(this.options)}},{key:\"resetRegExp\",value:function(){var A=\"\".concat(this.prefix,\"(.+?)\").concat(this.suffix);this.regexp=new RegExp(A,\"g\");var t=\"\".concat(this.prefix).concat(this.unescapePrefix,\"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);this.regexpUnescape=new RegExp(t,\"g\");var e=\"\".concat(this.nestingPrefix,\"(.+?)\").concat(this.nestingSuffix);this.nestingRegexp=new RegExp(e,\"g\")}},{key:\"interpolate\",value:function(A,t,e,n){var r,o,i,s=this,a=this.options&&this.options.interpolation&&this.options.interpolation.defaultVariables||{};function u(A){return A.replace(/\\$/g,\"$$$$\")}var c=function(A){if(A.indexOf(s.formatSeparator)<0){var r=sg(t,a,A);return s.alwaysFormat?s.format(r,void 0,e,Tg(Tg(Tg({},n),t),{},{interpolationkey:A})):r}var o=A.split(s.formatSeparator),i=o.shift().trim(),u=o.join(s.formatSeparator).trim();return s.format(sg(t,a,i),u,e,Tg(Tg(Tg({},n),t),{},{interpolationkey:i}))};this.resetRegExp();var l=n&&n.missingInterpolationHandler||this.options.missingInterpolationHandler,f=n&&n.interpolation&&n.interpolation.skipOnVariables||this.options.interpolation.skipOnVariables;return[{regex:this.regexpUnescape,safeValue:function(A){return u(A)}},{regex:this.regexp,safeValue:function(A){return s.escapeValue?u(s.escape(A)):u(A)}}].forEach((function(t){for(i=0;r=t.regex.exec(A);){if(void 0===(o=c(r[1].trim())))if(\"function\"==typeof l){var e=l(A,r,n);o=\"string\"==typeof e?e:\"\"}else{if(f){o=r[0];continue}s.logger.warn(\"missed to pass in variable \".concat(r[1],\" for interpolating \").concat(A)),o=\"\"}else\"string\"==typeof o||s.useRawValueToEscape||(o=eg(o));var a=t.safeValue(o);if(A=A.replace(r[0],a),f?(t.regex.lastIndex+=a.length,t.regex.lastIndex-=r[0].length):t.regex.lastIndex=0,++i>=s.maxReplaces)break}})),A}},{key:\"nest\",value:function(A,t){var e,n,r=this,o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=Tg({},o);function s(A,t){var e=this.nestingOptionsSeparator;if(A.indexOf(e)<0)return A;var n=A.split(new RegExp(\"\".concat(e,\"[ ]*{\"))),r=\"{\".concat(n[1]);A=n[0],r=(r=this.interpolate(r,i)).replace(/'/g,'\"');try{i=JSON.parse(r),t&&(i=Tg(Tg({},t),i))}catch(o){return this.logger.warn(\"failed parsing options string in nesting for key \".concat(A),o),\"\".concat(A).concat(e).concat(r)}return delete i.defaultValue,A}for(i.applyPostProcessor=!1,delete i.defaultValue;e=this.nestingRegexp.exec(A);){var a=[],u=!1;if(-1!==e[0].indexOf(this.formatSeparator)&&!/{.*}/.test(e[1])){var c=e[1].split(this.formatSeparator).map((function(A){return A.trim()}));e[1]=c.shift(),a=c,u=!0}if((n=t(s.call(this,e[1].trim(),i),i))&&e[0]===A&&\"string\"!=typeof n)return n;\"string\"!=typeof n&&(n=eg(n)),n||(this.logger.warn(\"missed to resolve \".concat(e[1],\" for nesting \").concat(A)),n=\"\"),u&&(n=a.reduce((function(A,t){return r.format(A,t,o.lng,Tg(Tg({},o),{},{interpolationkey:e[1].trim()}))}),n.trim())),A=A.replace(e[0],n),this.regexp.lastIndex=0}return A}}]),A}();function Sg(A,t){var e=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(A,t).enumerable}))),e.push.apply(e,n)}return e}function Rg(A){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?Sg(Object(e),!0).forEach((function(t){Gp(A,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(e)):Sg(Object(e)).forEach((function(t){Object.defineProperty(A,t,Object.getOwnPropertyDescriptor(e,t))}))}return A}var Lg=function(){function A(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};Mp(this,A),this.logger=Zp.create(\"formatter\"),this.options=t,this.formats={number:function(A,t,e){return new Intl.NumberFormat(t,e).format(A)},currency:function(A,t,e){return new Intl.NumberFormat(t,Rg(Rg({},e),{},{style:\"currency\"})).format(A)},datetime:function(A,t,e){return new Intl.DateTimeFormat(t,Rg({},e)).format(A)},relativetime:function(A,t,e){return new Intl.RelativeTimeFormat(t,Rg({},e)).format(A,e.range||\"day\")},list:function(A,t,e){return new Intl.ListFormat(t,Rg({},e)).format(A)}},this.init(t)}return kp(A,[{key:\"init\",value:function(A){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{interpolation:{}},e=t.interpolation;this.formatSeparator=e.formatSeparator?e.formatSeparator:e.formatSeparator||\",\"}},{key:\"add\",value:function(A,t){this.formats[A]=t}},{key:\"format\",value:function(A,t,e,n){var r=this;return t.split(this.formatSeparator).reduce((function(A,t){var o=function(A){var t=A.toLowerCase().trim(),e={};if(A.indexOf(\"(\")>-1){var n=A.split(\"(\");t=n[0].toLowerCase().trim();var r=n[1].substring(0,n[1].length-1);\"currency\"===t&&r.indexOf(\":\")<0?e.currency||(e.currency=r.trim()):\"relativetime\"===t&&r.indexOf(\":\")<0?e.range||(e.range=r.trim()):r.split(\";\").forEach((function(A){if(A){var t=Wp(A.split(\":\")),n=t[0],r=t.slice(1).join(\":\");\"false\"===r.trim()&&(e[n.trim()]=!1),\"true\"===r.trim()&&(e[n.trim()]=!0),isNaN(r.trim())||(e[n.trim()]=parseInt(r.trim(),10)),e[n.trim()]||(e[n.trim()]=r.trim())}}))}return{formatName:t,formatOptions:e}}(t),i=o.formatName,s=o.formatOptions;if(r.formats[i]){var a=A;try{var u=n&&n.formatParams&&n.formatParams[n.interpolationkey]||{},c=u.locale||u.lng||n.locale||n.lng||e;a=r.formats[i](A,c,Rg(Rg(Rg({},s),n),u))}catch(l){r.logger.warn(l)}return a}return r.logger.warn(\"there was no format function for \".concat(i)),A}),A)}}]),A}();function Mg(A,t){var e=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(A,t).enumerable}))),e.push.apply(e,n)}return e}function Dg(A){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?Mg(Object(e),!0).forEach((function(t){Gp(A,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(e)):Mg(Object(e)).forEach((function(t){Object.defineProperty(A,t,Object.getOwnPropertyDescriptor(e,t))}))}return A}function kg(A){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var e,n=Jp(A);if(t){var r=Jp(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return Xp(this,e)}}var Pg=function(A){Vp(e,Ag);var t=kg(e);function e(A,n,r){var o,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};return Mp(this,e),o=t.call(this),fg&&Ag.call(Pp(o)),o.backend=A,o.store=n,o.services=r,o.languageUtils=r.languageUtils,o.options=i,o.logger=Zp.create(\"backendConnector\"),o.state={},o.queue=[],o.backend&&o.backend.init&&o.backend.init(r,i.backend,i),o}return kp(e,[{key:\"queueLoad\",value:function(A,t,e,n){var r=this,o=[],i=[],s=[],a=[];return A.forEach((function(A){var n=!0;t.forEach((function(t){var s=\"\".concat(A,\"|\").concat(t);!e.reload&&r.store.hasResourceBundle(A,t)?r.state[s]=2:r.state[s]<0||(1===r.state[s]?i.indexOf(s)<0&&i.push(s):(r.state[s]=1,n=!1,i.indexOf(s)<0&&i.push(s),o.indexOf(s)<0&&o.push(s),a.indexOf(t)<0&&a.push(t)))})),n||s.push(A)})),(o.length||i.length)&&this.queue.push({pending:i,loaded:{},errors:[],callback:n}),{toLoad:o,pending:i,toLoadLanguages:s,toLoadNamespaces:a}}},{key:\"loaded\",value:function(A,t,e){var n=A.split(\"|\"),r=n[0],o=n[1];t&&this.emit(\"failedLoading\",r,o,t),e&&this.store.addResourceBundle(r,o,e),this.state[A]=t?-1:2;var i={};this.queue.forEach((function(e){var n,s,a,u,c,l;n=e.loaded,s=o,u=rg(n,[r],Object),c=u.obj,l=u.k,c[l]=c[l]||[],a&&(c[l]=c[l].concat(s)),a||c[l].push(s),function(A,t){for(var e=A.indexOf(t);-1!==e;)A.splice(e,1),e=A.indexOf(t)}(e.pending,A),t&&e.errors.push(t),0!==e.pending.length||e.done||(Object.keys(e.loaded).forEach((function(A){i[A]||(i[A]=[]),e.loaded[A].length&&e.loaded[A].forEach((function(t){i[A].indexOf(t)<0&&i[A].push(t)}))})),e.done=!0,e.errors.length?e.callback(e.errors):e.callback())})),this.emit(\"loaded\",i),this.queue=this.queue.filter((function(A){return!A.done}))}},{key:\"read\",value:function(A,t,e){var n=this,r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:350,i=arguments.length>5?arguments[5]:void 0;return A.length?this.backend[e](A,t,(function(s,a){s&&a&&r<5?setTimeout((function(){n.read.call(n,A,t,e,r+1,2*o,i)}),o):i(s,a)})):i(null,{})}},{key:\"prepareLoading\",value:function(A,t){var e=this,n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=arguments.length>3?arguments[3]:void 0;if(!this.backend)return this.logger.warn(\"No backend was added via i18next.use. Will not load resources.\"),r&&r();\"string\"==typeof A&&(A=this.languageUtils.toResolveHierarchy(A)),\"string\"==typeof t&&(t=[t]);var o=this.queueLoad(A,t,n,r);if(!o.toLoad.length)return o.pending.length||r(),null;o.toLoad.forEach((function(A){e.loadOne(A)}))}},{key:\"load\",value:function(A,t,e){this.prepareLoading(A,t,{},e)}},{key:\"reload\",value:function(A,t,e){this.prepareLoading(A,t,{reload:!0},e)}},{key:\"loadOne\",value:function(A){var t=this,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\",n=A.split(\"|\"),r=n[0],o=n[1];this.read(r,o,\"read\",void 0,void 0,(function(n,i){n&&t.logger.warn(\"\".concat(e,\"loading namespace \").concat(o,\" for language \").concat(r,\" failed\"),n),!n&&i&&t.logger.log(\"\".concat(e,\"loaded namespace \").concat(o,\" for language \").concat(r),i),t.loaded(A,n,i)}))}},{key:\"saveMissing\",value:function(A,t,e,n,r){var o=arguments.length>5&&void 0!==arguments[5]?arguments[5]:{};this.services.utils&&this.services.utils.hasLoadedNamespace&&!this.services.utils.hasLoadedNamespace(t)?this.logger.warn('did not save key \"'.concat(e,'\" as the namespace \"').concat(t,'\" was not yet loaded'),\"This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!\"):null!=e&&\"\"!==e&&(this.backend&&this.backend.create&&this.backend.create(A,t,e,n,null,Dg(Dg({},o),{},{isUpdate:r})),A&&A[0]&&this.store.addResource(A[0],t,e,n))}}]),e}();function zg(){return{debug:!1,initImmediate:!0,ns:[\"translation\"],defaultNS:[\"translation\"],fallbackLng:[\"dev\"],fallbackNS:!1,supportedLngs:!1,nonExplicitSupportedLngs:!1,load:\"all\",preload:!1,simplifyPluralSuffix:!0,keySeparator:\".\",nsSeparator:\":\",pluralSeparator:\"_\",contextSeparator:\"_\",partialBundledLanguages:!1,saveMissing:!1,updateMissing:!1,saveMissingTo:\"fallback\",saveMissingPlurals:!0,missingKeyHandler:!1,missingInterpolationHandler:!1,postProcess:!1,postProcessPassResolved:!1,returnNull:!0,returnEmptyString:!0,returnObjects:!1,joinArrays:!1,returnedObjectHandler:!1,parseMissingKeyHandler:!1,appendNamespaceToMissingKey:!1,appendNamespaceToCIMode:!1,overloadTranslationOptionHandler:function(A){var t={};if(\"object\"===Lp(A[1])&&(t=A[1]),\"string\"==typeof A[1]&&(t.defaultValue=A[1]),\"string\"==typeof A[2]&&(t.tDescription=A[2]),\"object\"===Lp(A[2])||\"object\"===Lp(A[3])){var e=A[3]||A[2];Object.keys(e).forEach((function(A){t[A]=e[A]}))}return t},interpolation:{escapeValue:!0,format:function(A,t,e,n){return A},prefix:\"{{\",suffix:\"}}\",formatSeparator:\",\",unescapePrefix:\"-\",nestingPrefix:\"$t(\",nestingSuffix:\")\",nestingOptionsSeparator:\",\",maxReplaces:1e3,skipOnVariables:!0}}}function Vg(A){return\"string\"==typeof A.ns&&(A.ns=[A.ns]),\"string\"==typeof A.fallbackLng&&(A.fallbackLng=[A.fallbackLng]),\"string\"==typeof A.fallbackNS&&(A.fallbackNS=[A.fallbackNS]),A.supportedLngs&&A.supportedLngs.indexOf(\"cimode\")<0&&(A.supportedLngs=A.supportedLngs.concat([\"cimode\"])),A}function Xg(A,t){var e=Object.keys(A);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(A);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(A,t).enumerable}))),e.push.apply(e,n)}return e}function Jg(A){for(var t=1;t<arguments.length;t++){var e=null!=arguments[t]?arguments[t]:{};t%2?Xg(Object(e),!0).forEach((function(t){Gp(A,t,e[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(A,Object.getOwnPropertyDescriptors(e)):Xg(Object(e)).forEach((function(t){Object.defineProperty(A,t,Object.getOwnPropertyDescriptor(e,t))}))}return A}function Gg(A){var t=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(A){return!1}}();return function(){var e,n=Jp(A);if(t){var r=Jp(this).constructor;e=Reflect.construct(n,arguments,r)}else e=n.apply(this,arguments);return Xp(this,e)}}function jg(){}function Wg(A){Object.getOwnPropertyNames(Object.getPrototypeOf(A)).forEach((function(t){\"function\"==typeof A[t]&&(A[t]=A[t].bind(A))}))}var Yg=function(A){Vp(e,Ag);var t=Gg(e);function e(){var A,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=arguments.length>1?arguments[1]:void 0;if(Mp(this,e),A=t.call(this),fg&&Ag.call(Pp(A)),A.options=Vg(n),A.services={},A.logger=Zp,A.modules={external:[]},Wg(Pp(A)),r&&!A.isInitialized&&!n.isClone){if(!A.options.initImmediate)return A.init(n,r),Xp(A,Pp(A));setTimeout((function(){A.init(n,r)}),0)}return A}return kp(e,[{key:\"init\",value:function(){var A=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},e=arguments.length>1?arguments[1]:void 0;\"function\"==typeof t&&(e=t,t={}),!t.defaultNS&&t.ns&&(\"string\"==typeof t.ns?t.defaultNS=t.ns:t.ns.indexOf(\"translation\")<0&&(t.defaultNS=t.ns[0]));var n=zg();function r(A){return A?\"function\"==typeof A?new A:A:null}if(this.options=Jg(Jg(Jg({},n),this.options),Vg(t)),\"v1\"!==this.options.compatibilityAPI&&(this.options.interpolation=Jg(Jg({},n.interpolation),this.options.interpolation)),void 0!==t.keySeparator&&(this.options.userDefinedKeySeparator=t.keySeparator),void 0!==t.nsSeparator&&(this.options.userDefinedNsSeparator=t.nsSeparator),!this.options.isClone){var o;this.modules.logger?Zp.init(r(this.modules.logger),this.options):Zp.init(null,this.options),this.modules.formatter?o=this.modules.formatter:\"undefined\"!=typeof Intl&&(o=Lg);var i=new mg(this.options);this.store=new wg(this.options.resources,this.options);var s=this.services;s.logger=Zp,s.resourceStore=this.store,s.languageUtils=i,s.pluralResolver=new Ig(i,{prepend:this.options.pluralSeparator,compatibilityJSON:this.options.compatibilityJSON,simplifyPluralSuffix:this.options.simplifyPluralSuffix}),!o||this.options.interpolation.format&&this.options.interpolation.format!==n.interpolation.format||(s.formatter=r(o),s.formatter.init(s,this.options),this.options.interpolation.format=s.formatter.format.bind(s.formatter)),s.interpolator=new xg(this.options),s.utils={hasLoadedNamespace:this.hasLoadedNamespace.bind(this)},s.backendConnector=new Pg(r(this.modules.backend),s.resourceStore,s,this.options),s.backendConnector.on(\"*\",(function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];A.emit.apply(A,[t].concat(n))})),this.modules.languageDetector&&(s.languageDetector=r(this.modules.languageDetector),s.languageDetector.init(s,this.options.detection,this.options)),this.modules.i18nFormat&&(s.i18nFormat=r(this.modules.i18nFormat),s.i18nFormat.init&&s.i18nFormat.init(this)),this.translator=new yg(this.services,this.options),this.translator.on(\"*\",(function(t){for(var e=arguments.length,n=new Array(e>1?e-1:0),r=1;r<e;r++)n[r-1]=arguments[r];A.emit.apply(A,[t].concat(n))})),this.modules.external.forEach((function(t){t.init&&t.init(A)}))}if(this.format=this.options.interpolation.format,e||(e=jg),this.options.fallbackLng&&!this.services.languageDetector&&!this.options.lng){var a=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);a.length>0&&\"dev\"!==a[0]&&(this.options.lng=a[0])}this.services.languageDetector||this.options.lng||this.logger.warn(\"init: no languageDetector is used and no lng is defined\");var u=[\"getResource\",\"hasResourceBundle\",\"getResourceBundle\",\"getDataByLanguage\"];u.forEach((function(t){A[t]=function(){var e;return(e=A.store)[t].apply(e,arguments)}}));var c=[\"addResource\",\"addResources\",\"addResourceBundle\",\"removeResourceBundle\"];c.forEach((function(t){A[t]=function(){var e;return(e=A.store)[t].apply(e,arguments),A}}));var l=tg(),f=function(){var t=function(t,n){A.isInitialized&&!A.initializedStoreOnce&&A.logger.warn(\"init: i18next is already initialized. You should call init just once!\"),A.isInitialized=!0,A.options.isClone||A.logger.log(\"initialized\",A.options),A.emit(\"initialized\",A.options),l.resolve(n),e(t,n)};if(A.languages&&\"v1\"!==A.options.compatibilityAPI&&!A.isInitialized)return t(null,A.t.bind(A));A.changeLanguage(A.options.lng,t)};return this.options.resources||!this.options.initImmediate?f():setTimeout(f,0),l}},{key:\"loadResources\",value:function(A){var t=this,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:jg,n=e,r=\"string\"==typeof A?A:this.language;if(\"function\"==typeof A&&(n=A),!this.options.resources||this.options.partialBundledLanguages){if(r&&\"cimode\"===r.toLowerCase())return n();var o=[],i=function(A){A&&t.services.languageUtils.toResolveHierarchy(A).forEach((function(A){o.indexOf(A)<0&&o.push(A)}))};if(r)i(r);else{var s=this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);s.forEach((function(A){return i(A)}))}this.options.preload&&this.options.preload.forEach((function(A){return i(A)})),this.services.backendConnector.load(o,this.options.ns,n)}else n(null)}},{key:\"reloadResources\",value:function(A,t,e){var n=tg();return A||(A=this.languages),t||(t=this.options.ns),e||(e=jg),this.services.backendConnector.reload(A,t,(function(A){n.resolve(),e(A)})),n}},{key:\"use\",value:function(A){if(!A)throw new Error(\"You are passing an undefined module! Please check the object you are passing to i18next.use()\");if(!A.type)throw new Error(\"You are passing a wrong module! Please check the object you are passing to i18next.use()\");return\"backend\"===A.type&&(this.modules.backend=A),(\"logger\"===A.type||A.log&&A.warn&&A.error)&&(this.modules.logger=A),\"languageDetector\"===A.type&&(this.modules.languageDetector=A),\"i18nFormat\"===A.type&&(this.modules.i18nFormat=A),\"postProcessor\"===A.type&&Qg.addPostProcessor(A),\"formatter\"===A.type&&(this.modules.formatter=A),\"3rdParty\"===A.type&&this.modules.external.push(A),this}},{key:\"changeLanguage\",value:function(A,t){var e=this;this.isLanguageChangingTo=A;var n=tg();this.emit(\"languageChanging\",A);var r=function(A){if(e.language=A,e.languages=e.services.languageUtils.toResolveHierarchy(A),e.resolvedLanguage=void 0,!([\"cimode\",\"dev\"].indexOf(A)>-1))for(var t=0;t<e.languages.length;t++){var n=e.languages[t];if(!([\"cimode\",\"dev\"].indexOf(n)>-1)&&e.store.hasLanguageSomeTranslations(n)){e.resolvedLanguage=n;break}}},o=function(o){A||o||!e.services.languageDetector||(o=[]);var i=\"string\"==typeof o?o:e.services.languageUtils.getBestMatchFromCodes(o);i&&(e.language||r(i),e.translator.language||e.translator.changeLanguage(i),e.services.languageDetector&&e.services.languageDetector.cacheUserLanguage(i)),e.loadResources(i,(function(A){!function(A,o){o?(r(o),e.translator.changeLanguage(o),e.isLanguageChangingTo=void 0,e.emit(\"languageChanged\",o),e.logger.log(\"languageChanged\",o)):e.isLanguageChangingTo=void 0,n.resolve((function(){return e.t.apply(e,arguments)})),t&&t(A,(function(){return e.t.apply(e,arguments)}))}(A,i)}))};return A||!this.services.languageDetector||this.services.languageDetector.async?!A&&this.services.languageDetector&&this.services.languageDetector.async?this.services.languageDetector.detect(o):o(A):o(this.services.languageDetector.detect()),n}},{key:\"getFixedT\",value:function(A,t,e){var n=this,r=function A(t,r){var o;if(\"object\"!==Lp(r)){for(var i=arguments.length,s=new Array(i>2?i-2:0),a=2;a<i;a++)s[a-2]=arguments[a];o=n.options.overloadTranslationOptionHandler([t,r].concat(s))}else o=Jg({},r);o.lng=o.lng||A.lng,o.lngs=o.lngs||A.lngs,o.ns=o.ns||A.ns;var u=n.options.keySeparator||\".\",c=e?\"\".concat(e).concat(u).concat(t):t;return n.t(c,o)};return\"string\"==typeof A?r.lng=A:r.lngs=A,r.ns=t,r.keyPrefix=e,r}},{key:\"t\",value:function(){var A;return this.translator&&(A=this.translator).translate.apply(A,arguments)}},{key:\"exists\",value:function(){var A;return this.translator&&(A=this.translator).exists.apply(A,arguments)}},{key:\"setDefaultNamespace\",value:function(A){this.options.defaultNS=A}},{key:\"hasLoadedNamespace\",value:function(A){var t=this,e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(!this.isInitialized)return this.logger.warn(\"hasLoadedNamespace: i18next was not initialized\",this.languages),!1;if(!this.languages||!this.languages.length)return this.logger.warn(\"hasLoadedNamespace: i18n.languages were undefined or empty\",this.languages),!1;var n=this.resolvedLanguage||this.languages[0],r=!!this.options&&this.options.fallbackLng,o=this.languages[this.languages.length-1];if(\"cimode\"===n.toLowerCase())return!0;var i=function(A,e){var n=t.services.backendConnector.state[\"\".concat(A,\"|\").concat(e)];return-1===n||2===n};if(e.precheck){var s=e.precheck(this,i);if(void 0!==s)return s}return!!this.hasResourceBundle(n,A)||(!this.services.backendConnector.backend||!(!i(n,A)||r&&!i(o,A)))}},{key:\"loadNamespaces\",value:function(A,t){var e=this,n=tg();return this.options.ns?(\"string\"==typeof A&&(A=[A]),A.forEach((function(A){e.options.ns.indexOf(A)<0&&e.options.ns.push(A)})),this.loadResources((function(A){n.resolve(),t&&t(A)})),n):(t&&t(),Promise.resolve())}},{key:\"loadLanguages\",value:function(A,t){var e=tg();\"string\"==typeof A&&(A=[A]);var n=this.options.preload||[],r=A.filter((function(A){return n.indexOf(A)<0}));return r.length?(this.options.preload=n.concat(r),this.loadResources((function(A){e.resolve(),t&&t(A)})),e):(t&&t(),Promise.resolve())}},{key:\"dir\",value:function(A){if(A||(A=this.resolvedLanguage||(this.languages&&this.languages.length>0?this.languages[0]:this.language)),!A)return\"rtl\";return[\"ar\",\"shu\",\"sqr\",\"ssh\",\"xaa\",\"yhd\",\"yud\",\"aao\",\"abh\",\"abv\",\"acm\",\"acq\",\"acw\",\"acx\",\"acy\",\"adf\",\"ads\",\"aeb\",\"aec\",\"afb\",\"ajp\",\"apc\",\"apd\",\"arb\",\"arq\",\"ars\",\"ary\",\"arz\",\"auz\",\"avl\",\"ayh\",\"ayl\",\"ayn\",\"ayp\",\"bbz\",\"pga\",\"he\",\"iw\",\"ps\",\"pbt\",\"pbu\",\"pst\",\"prp\",\"prd\",\"ug\",\"ur\",\"ydd\",\"yds\",\"yih\",\"ji\",\"yi\",\"hbo\",\"men\",\"xmn\",\"fa\",\"jpr\",\"peo\",\"pes\",\"prs\",\"dv\",\"sam\",\"ckb\"].indexOf(this.services.languageUtils.getLanguagePartFromCode(A))>-1||A.toLowerCase().indexOf(\"-arab\")>1?\"rtl\":\"ltr\"}},{key:\"cloneInstance\",value:function(){var A=this,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:jg,r=Jg(Jg(Jg({},this.options),t),{isClone:!0}),o=new e(r),i=[\"store\",\"services\",\"language\"];return i.forEach((function(t){o[t]=A[t]})),o.services=Jg({},this.services),o.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o.translator=new yg(o.services,o.options),o.translator.on(\"*\",(function(A){for(var t=arguments.length,e=new Array(t>1?t-1:0),n=1;n<t;n++)e[n-1]=arguments[n];o.emit.apply(o,[A].concat(e))})),o.init(r,n),o.translator.options=o.options,o.translator.backendConnector.services.utils={hasLoadedNamespace:o.hasLoadedNamespace.bind(o)},o}},{key:\"toJSON\",value:function(){return{options:this.options,store:this.store,language:this.language,languages:this.languages,resolvedLanguage:this.resolvedLanguage}}}]),e}();Gp(Yg,\"createInstance\",(function(){var A=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1?arguments[1]:void 0;return new Yg(A,t)}));var qg=Yg.createInstance();qg.createInstance=Yg.createInstance,qg.createInstance,qg.init,qg.loadResources,qg.reloadResources,qg.use,qg.changeLanguage,qg.getFixedT,qg.t,qg.exists,qg.setDefaultNamespace,qg.hasLoadedNamespace,qg.loadNamespaces,qg.loadLanguages;export{An as A,In as B,Je as C,c as D,le as E,De as F,re as G,he as H,Re as I,nn as J,ir as K,rr as L,nr as M,Br as N,Tp as P,_r as a,Or as b,Kn as c,hi as d,Op as e,Tr as f,es as g,Kp as h,Qa as i,Ka as j,qg as k,Kr as l,pr as m,Ne as n,Rp as o,ei as p,jA as q,nt as r,ti as s,la as t,Zn as u,Ft as v,Fe as w,cr as x,je as y,Ha as z};\n"
  },
  {
    "path": "docs/index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <link rel=\"icon\" href=\"/vue3-mindmap/favicon.ico\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Vite App</title>\n  <script type=\"module\" crossorigin src=\"/vue3-mindmap/assets/index.4c10fd8c.js\"></script>\n  <link rel=\"modulepreload\" href=\"/vue3-mindmap/assets/vendor.5fc36a9d.js\">\n  <link rel=\"stylesheet\" href=\"/vue3-mindmap/assets/index.55b3b50b.css\">\n</head>\n  <body>\n    <div id=\"app\"></div>\n    \n  </body>\n</html>\n"
  },
  {
    "path": "index.html",
    "content": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"UTF-8\" />\n    <link rel=\"icon\" href=\"/favicon.ico\" />\n    <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\n    <title>Vite App</title>\n  </head>\n  <body>\n    <div id=\"app\"></div>\n    <script type=\"module\" src=\"/src/main.ts\"></script>\n  </body>\n</html>\n"
  },
  {
    "path": "jest.config.ts",
    "content": "/*\n * For a detailed explanation regarding each configuration property and type check, visit:\n * https://jestjs.io/docs/en/configuration.html\n */\n\nexport default {\n  // All imported modules in your tests should be mocked automatically\n  // automock: false,\n\n  // Stop running tests after `n` failures\n  // bail: 0,\n\n  // The directory where Jest should store its cached dependency information\n  // cacheDirectory: \"/private/var/folders/27/xb26xyrj48s9hs_m6p38fr9h0000gn/T/jest_dx\",\n\n  // Automatically clear mock calls and instances between every test\n  // clearMocks: false,\n\n  // Indicates whether the coverage information should be collected while executing the test\n  // collectCoverage: false,\n\n  // An array of glob patterns indicating a set of files for which coverage information should be collected\n  collectCoverageFrom: [\n    '**/*.{ts,vue}',\n    '!**/*.{d,config}.ts',\n    '!**/interface.ts',\n    '!**/node_modules/**',\n    '!**/vendor/**'\n  ],\n\n  // The directory where Jest should output its coverage files\n  coverageDirectory: 'coverage',\n\n  // An array of regexp pattern strings used to skip coverage collection\n  // coveragePathIgnorePatterns: [\n  //   \"/node_modules/\"\n  // ],\n\n  // Indicates which provider should be used to instrument code for coverage\n  coverageProvider: 'v8',\n\n  // A list of reporter names that Jest uses when writing coverage reports\n  // coverageReporters: [\n  //   \"json\",\n  //   \"text\",\n  //   \"lcov\",\n  //   \"clover\"\n  // ],\n\n  // An object that configures minimum threshold enforcement for coverage results\n  // coverageThreshold: undefined,\n\n  // A path to a custom dependency extractor\n  // dependencyExtractor: undefined,\n\n  // Make calling deprecated APIs throw helpful error messages\n  // errorOnDeprecated: false,\n\n  // Force coverage collection from ignored files using an array of glob patterns\n  // forceCoverageMatch: [],\n\n  // A path to a module which exports an async function that is triggered once before all test suites\n  // globalSetup: undefined,\n\n  // A path to a module which exports an async function that is triggered once after all test suites\n  // globalTeardown: undefined,\n\n  // A set of global variables that need to be available in all test environments\n  // globals: {},\n\n  // The maximum amount of workers used to run your tests. Can be specified as % or a number. E.g. maxWorkers: 10% will use 10% of your CPU amount + 1 as the maximum worker number. maxWorkers: 2 will use a maximum of 2 workers.\n  // maxWorkers: \"50%\",\n\n  // An array of directory names to be searched recursively up from the requiring module's location\n  // moduleDirectories: [\n  //   \"node_modules\"\n  // ],\n\n  // An array of file extensions your modules use\n  // moduleFileExtensions: [\n  //   \"js\",\n  //   \"json\",\n  //   \"jsx\",\n  //   \"ts\",\n  //   \"tsx\",\n  //   \"node\"\n  // ],\n\n  // A map from regular expressions to module names or to arrays of module names that allow to stub out resources with a single module\n  moduleNameMapper: {\n    '^@/(.*)$': '<rootDir>/src/$1'\n  },\n\n  // An array of regexp pattern strings, matched against all module paths before considered 'visible' to the module loader\n  // modulePathIgnorePatterns: [],\n\n  // Activates notifications for test results\n  // notify: false,\n\n  // An enum that specifies notification mode. Requires { notify: true }\n  // notifyMode: \"failure-change\",\n\n  // A preset that is used as a base for Jest's configuration\n  preset: 'ts-jest',\n\n  // Run tests from one or more projects\n  // projects: undefined,\n\n  // Use this configuration option to add custom reporters to Jest\n  // reporters: undefined,\n\n  // Automatically reset mock state between every test\n  // resetMocks: false,\n\n  // Reset the module registry before running each individual test\n  // resetModules: false,\n\n  // A path to a custom resolver\n  // resolver: undefined,\n\n  // Automatically restore mock state between every test\n  // restoreMocks: false,\n\n  // The root directory that Jest should scan for tests and modules within\n  // rootDir: undefined,\n\n  // A list of paths to directories that Jest should use to search for files in\n  // roots: [\n  //   \"<rootDir>\"\n  // ],\n\n  // Allows you to use a custom runner instead of Jest's default test runner\n  // runner: \"jest-runner\",\n\n  // The paths to modules that run some code to configure or set up the testing environment before each test\n  // setupFiles: [],\n\n  // A list of paths to modules that run some code to configure or set up the testing framework before each test\n  // setupFilesAfterEnv: [],\n\n  // The number of seconds after which a test is considered as slow and reported as such in the results.\n  // slowTestThreshold: 5,\n\n  // A list of paths to snapshot serializer modules Jest should use for snapshot testing\n  // snapshotSerializers: [],\n\n  // The test environment that will be used for testing\n  testEnvironment: 'node',\n\n  // Options that will be passed to the testEnvironment\n  // testEnvironmentOptions: {},\n\n  // Adds a location field to test results\n  // testLocationInResults: false,\n\n  // The glob patterns Jest uses to detect test files\n  testMatch: [\n    '**/__tests__/**/*.[jt]s?(x)',\n    '**/?(*.)+(spec|test).[tj]s?(x)',\n    '!**/__tests__/**/config.[jt]s?(x)'\n  ],\n\n  // An array of regexp pattern strings that are matched against all test paths, matched tests are skipped\n  // testPathIgnorePatterns: [\n  //   \"/node_modules/\"\n  // ],\n\n  // The regexp pattern or array of patterns that Jest uses to detect test files\n  // testRegex: [],\n\n  // This option allows the use of a custom results processor\n  // testResultsProcessor: undefined,\n\n  // This option allows use of a custom test runner\n  // testRunner: \"jasmine2\",\n\n  // This option sets the URL for the jsdom environment. It is reflected in properties such as location.href\n  // testURL: \"http://localhost\",\n\n  // Setting this value to \"fake\" allows the use of fake timers for functions such as \"setTimeout\"\n  // timers: \"real\",\n\n  // A map from regular expressions to paths to transformers\n  // transform: undefined,\n\n  // An array of regexp pattern strings that are matched against all source file paths, matched files will skip transformation\n  // transformIgnorePatterns: [\n  //   \"/node_modules/\",\n  //   \"\\\\.pnp\\\\.[^\\\\/]+$\"\n  // ],\n\n  // An array of regexp pattern strings that are matched against all modules before the module loader will automatically return a mock for them\n  // unmockedModulePathPatterns: undefined,\n\n  // Indicates whether each individual test should be reported during the run\n  // verbose: undefined,\n\n  // An array of regexp patterns that are matched against all source file paths before re-running tests in watch mode\n  // watchPathIgnorePatterns: [],\n\n  // Whether to use watchman for file crawling\n  // watchman: true,\n};\n"
  },
  {
    "path": "package.json",
    "content": "{\n  \"name\": \"vue3-mindmap\",\n  \"description\": \"Mindmap component for Vue3\",\n  \"author\": \"伍鑫\",\n  \"license\": \"MIT\",\n  \"files\": [\n    \"dist\"\n  ],\n  \"main\": \"./dist/vue3-mindmap.umd.js\",\n  \"module\": \"./dist/vue3-mindmap.es.js\",\n  \"exports\": {\n    \".\": {\n      \"import\": \"./dist/vue3-mindmap.es.js\",\n      \"require\": \"./dist/vue3-mindmap.umd.js\"\n    },\n    \"./dist/style.css\": \"./dist/style.css\"\n  },\n  \"version\": \"0.5.12\",\n  \"scripts\": {\n    \"dev\": \"vite\",\n    \"build\": \"vite build\",\n    \"lib\": \"vite build --config vite-lib.config.ts && tsc --project tsconfig.lib.json\",\n    \"serve\": \"vite preview\",\n    \"test\": \"jest --watch\",\n    \"coverage\": \"jest --coverage\",\n    \"release\": \"standard-version\"\n  },\n  \"dependencies\": {\n    \"d3-drag\": \"^2.0.0\",\n    \"d3-interpolate\": \"^2.0.1\",\n    \"d3-scale\": \"^3.3.0\",\n    \"d3-scale-chromatic\": \"^2.0.0\",\n    \"d3-selection\": \"^2.0.0\",\n    \"d3-shape\": \"^2.1.0\",\n    \"d3-transition\": \"^2.0.0\",\n    \"d3-zoom\": \"^2.0.0\",\n    \"html2canvas\": \"^1.0.0-rc.7\",\n    \"i18next\": \"^21.6.6\",\n    \"lodash.clonedeep\": \"^4.5.0\",\n    \"mitt\": \"^2.1.0\",\n    \"vue\": \"^3.0.0\"\n  },\n  \"devDependencies\": {\n    \"@types/d3-drag\": \"^2.0.0\",\n    \"@types/d3-ease\": \"^2.0.0\",\n    \"@types/d3-scale\": \"^3.2.2\",\n    \"@types/d3-scale-chromatic\": \"^2.0.0\",\n    \"@types/d3-selection\": \"^2.0.0\",\n    \"@types/d3-shape\": \"^2.0.0\",\n    \"@types/d3-transition\": \"^2.0.0\",\n    \"@types/d3-zoom\": \"^2.0.0\",\n    \"@types/jest\": \"^26.0.23\",\n    \"@types/lodash.clonedeep\": \"^4.5.6\",\n    \"@types/node\": \"^15.0.2\",\n    \"@types/resize-observer-browser\": \"^0.1.5\",\n    \"@types/string-hash\": \"^1.1.1\",\n    \"@typescript-eslint/eslint-plugin\": \"^4.23.0\",\n    \"@typescript-eslint/parser\": \"^4.23.0\",\n    \"@vitejs/plugin-vue\": \"^1.2.2\",\n    \"@vue/compiler-sfc\": \"^3.0.11\",\n    \"eslint\": \"^7.26.0\",\n    \"eslint-plugin-tsdoc\": \"^0.2.14\",\n    \"jest\": \"^26.6.3\",\n    \"sass\": \"^1.32.12\",\n    \"standard-version\": \"^9.3.0\",\n    \"string-hash\": \"^1.1.3\",\n    \"ts-jest\": \"^26.5.6\",\n    \"ts-node\": \"^9.1.1\",\n    \"tslib\": \"^2.3.1\",\n    \"typescript\": \"~4.2.4\",\n    \"vite\": \"^2.3.0\"\n  },\n  \"bugs\": {\n    \"url\": \"https://github.com/hellowuxin/vue3-mindmap/issues\"\n  },\n  \"homepage\": \"https://github.com/hellowuxin/vue3-mindmap#readme\",\n  \"keywords\": [\n    \"mindmap\",\n    \"vue\",\n    \"d3\"\n  ],\n  \"repository\": {\n    \"type\": \"git\",\n    \"url\": \"git+https://github.com/hellowuxin/vue3-mindmap.git\"\n  }\n}\n"
  },
  {
    "path": "src/App.vue",
    "content": "<template>\n  <div class=\"container\">\n    <div class=\"left-top\">\n      <a href=\"https://github.com/hellowuxin/vue3-mindmap\" target=\"_blank\">GitHub</a>\n    </div>\n    <div class=\"right-top\"><span>Props</span></div>\n    <mindmap\n      class=\"left-bottom\"\n      v-model=\"data\"\n      :branch=\"rangeList['branch'].value\"\n      :x-gap=\"rangeList['x-gap'].value\"\n      :y-gap=\"rangeList['y-gap'].value\"\n      :zoom=\"checkboxList['zoom'].value\"\n      :fit-btn=\"checkboxList['fit-btn'].value\"\n      :center-btn=\"checkboxList['center-btn'].value\"\n      :download-btn=\"checkboxList['download-btn'].value\"\n      :drag=\"checkboxList['drag'].value\"\n      :edit=\"checkboxList['edit'].value\"\n      :add-node-btn=\"checkboxList['add-node-btn'].value\"\n      :sharp-corner=\"checkboxList['sharp-corner'].value\"\n      :ctm=\"checkboxList['contextmenu'].value\"\n      :timetravel=\"checkboxList['timetravel'].value\"\n      @update:model-value=\"onChange\"\n      :locale=\"locale\"\n    />\n    <div class=\"right-bottom\">\n      <div>\n        <label for=\"language-select\">Language</label>\n        <select id=\"language-select\" v-model=\"locale\">\n          <option value=\"zh\">简体中文</option>\n          <option value=\"en\">English</option>\n          <option value=\"ptBR\">Brazilian Portuguese</option>\n        </select>\n      </div>\n      <div v-for=\"(item, key) in checkboxList\" :key=\"key\">\n        <input type=\"checkbox\" :name=\"key.toString()\" v-model=\"item.value\" :disabled=\"item.disabled\">\n        <label :for=\"key.toString()\">{{ key }}</label>\n      </div>\n      <div v-for=\"(item, key) in rangeList\" :key=\"key\">\n        <input type=\"range\" :name=\"key\" v-model.number=\"item.value\" :min=\"item.min\" :max=\"item.max\">\n        <label :for=\"key\">{{ key }}（{{ item.value }}）</label>\n      </div>\n    </div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport learn from './learn.json'\nimport { defineComponent, reactive, ref } from 'vue'\nimport Mindmap from './components/Mindmap'\nimport { Locale } from './components/Mindmap/interface'\n\ntype checkbox = { [key: string]: { value: boolean, disabled?: boolean } }\n\nexport default defineComponent({\n  name: 'App',\n  components: {\n    Mindmap\n  },\n  setup () {\n    const checkboxList = reactive<checkbox>({\n      'center-btn': { value: true },\n      'fit-btn': { value: true },\n      timetravel: { value: true },\n      'download-btn': { value: true },\n      'add-node-btn': { value: true },\n      keyboard: { value: false, disabled: true },\n      zoom: { value: true },\n      drag: { value: true },\n      edit: { value: true },\n      contextmenu: { value: true },\n      'sharp-corner': { value: false },\n      vertical: { value: false, disabled: true }\n    })\n    const rangeList = reactive({\n      branch: { value: 4, min: 1, max: 6 },\n      'x-gap': { value: 84, min: 0, max: 100 },\n      'y-gap': { value: 18, min: 0, max: 100 }\n    })\n    const data = ref(learn)\n    const onChange = () => console.log('update:model-value')\n    const locale = ref<Locale>('zh')\n\n    return {\n      data,\n      checkboxList,\n      rangeList,\n      onChange,\n      locale\n    }\n  }\n})\n</script>\n\n<style lang=\"scss\">\n.container {\n  width: 100%;\n  height: calc(100vh - 16px);\n  border-radius: 4px;\n  border: thin solid rgba(0,0,0,.12);\n  overflow: hidden;\n  background-color: rgba(0,0,0,.12);\n  display: grid;\n  grid-template-columns: 75% 1px 25%;\n  grid-template-rows: 48px 1px auto;\n}\n\n.right-top {\n  grid-column: 3 / 4;\n}\n\n.left-bottom {\n  grid-row: 3 / 4;\n}\n\n.right-bottom {\n  grid-column: 3 / 4;\n  grid-row: 3 / 4;\n  background-color: white;\n  padding: 12px;\n  display: flex;\n  flex-direction: column;\n  gap: 10px;\n  overflow: scroll;\n\n  div {\n    display: flex;\n    align-items: center;\n    gap: 5px;\n  }\n}\n\n.left-top,\n.right-top {\n  background-color: #eee;\n  padding: 0 12px;\n  display: flex;\n  align-items: center;\n}\n\ninput[type='checkbox'] {\n  cursor: pointer;\n}\n\ninput:disabled {\n  cursor: not-allowed;\n}\n</style>\n"
  },
  {
    "path": "src/components/Contextmenu.vue",
    "content": "<template>\n  <div :class=\"style['container']\" v-show=\"show\" ref=\"containerEle\">\n    <div @mousedown=\"close\"></div>\n    <div\n      ref=\"menuEle\"\n      :id=\"style['menu']\"\n      :style=\"{ top: pos.top+'px', left: pos.left+'px' }\"\n    >\n      <ul \n        v-for=\"(group, index) in groups\"\n        :key=\"index\"\n      >\n        <li\n          :class=\"item.disabled ? style['disabled'] : ''\"\n          v-for=\"item in group\"\n          :key=\"item.name\"\n          @click=\"onClick(item.name)\"\n        >{{ i18n.t(`contextmenu.${item.name}`) }}</li>\n      </ul>\n    </div>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport { defineComponent, useCssModule, PropType, ref, Ref, nextTick, reactive } from 'vue'\nimport emitter from '@/mitt'\nimport { MenuItem } from './Mindmap/variable/contextmenu'\nimport i18n from '../i18n'\n\nexport default defineComponent({\n  name: 'contextmenu',\n  props: {\n    position: {\n      default: { top: 0, left: 0 }\n    },\n    groups: Array as PropType<MenuItem[][]>\n  },\n  emits: ['click-item'],\n  setup (props, context) {\n    const show = ref(false)\n    const style = useCssModule()\n    const containerEle: Ref<HTMLDivElement | undefined> = ref()\n    const menuEle: Ref<HTMLDivElement | undefined> = ref()\n    const pos = reactive({ top: 0, left: 0 })\n    const margin = 8\n\n    emitter.on<boolean>('showContextmenu', async (val) => {\n      if (!containerEle.value || !menuEle.value) { return }\n      show.value = !!val\n      await nextTick()\n      const { offsetWidth: w1, offsetHeight: h1 } = containerEle.value\n      const { offsetWidth: w2, offsetHeight: h2 } = menuEle.value\n      const { top, left } = props.position\n      pos.top = top + h2 > h1 ? h1 - h2 - margin : top\n      pos.left = left + w2 > w1 ? left - w2 : left\n    })\n    const close = () => show.value = false\n    const onClick = (name: string) => {\n      close()\n      context.emit('click-item', name)\n    }\n\n    return {\n      style,\n      show,\n      close,\n      onClick,\n      menuEle,\n      containerEle,\n      pos,\n      i18n\n    }\n  }\n})\n</script>\n\n<style lang=\"scss\" module>\n  .container {\n    position: absolute;\n    left: 0;\n    top: 0;\n    right: 0;\n    bottom: 0;\n\n    > div:first-child {\n      width: 100%;\n      height: 100%;\n    }\n  }\n\n  #menu {\n    position: absolute;\n    border-radius: 4px;\n    box-shadow: 0 5px 5px -3px rgb(0 0 0 / 20%), 0 8px 10px 1px rgb(0 0 0 / 14%), 0 3px 14px 2px rgb(0 0 0 / 12%);\n    padding: 4px 4px;\n    background-color: #eae9ed;\n    color: #3a353d;\n    font-weight: bold;\n    font-size: small;\n    white-space: nowrap;\n  }\n\n  #menu ul {\n    list-style-type: none;\n    margin: 0;\n    padding: 0;\n    border-radius: inherit;\n\n    &:not(:last-child)::after {\n      display: block;\n      content: '';\n      background-color: #CBCBCB;\n      height: 1px;\n      margin: 4px 10px;\n    }\n\n    li {\n      position: relative;\n      padding: 2px 10px;\n      cursor: pointer;\n      border-radius: inherit;\n\n      &::before {\n        border-radius: inherit;\n        background-color: black;\n        bottom: 0;\n        content: \"\";\n        left: 0;\n        opacity: 0;\n        pointer-events: none;\n        position: absolute;\n        right: 0;\n        top: 0;\n        transition: 0.3s cubic-bezier(0.25, 0.8, 0.5, 1);\n      }\n\n      &:not(.disabled):hover::before {\n        opacity: 0.09;\n      }\n\n      &.disabled {\n        color: #AEB2B5;\n        pointer-events: none;\n      }\n    }\n  }\n</style>\n"
  },
  {
    "path": "src/components/Mindmap/Mindmap.vue",
    "content": "<template>\n  <div :class=\"style['container']\">\n    <div :id=\"style['svg-wrapper']\" ref=\"wrapperEle\">\n      <svg :class=\"style['svg']\" ref=\"svgEle\">\n        <g ref=\"gEle\">\n          <foreignObject ref=\"foreignEle\" style=\"display: none\">\n            <div ref=\"foreignDivEle\" contenteditable></div>\n          </foreignObject>\n        </g>\n      </svg>\n    </div>\n    <svg ref=\"asstSvgEle\" :class=\"style['asst-svg']\"></svg>\n    <div :class=\"[style['button-list'], style['right-bottom']]\">\n      <button v-if=\"centerBtn\" @click=\"centerView()\"><i :class=\"style['gps']\"></i></button>\n      <button v-if=\"fitBtn\" @click=\"fitView()\"><i :class=\"style['fit']\"></i></button>\n      <button v-if=\"downloadBtn\" @click=\"download()\"><i :class=\"style['download']\"></i></button>\n    </div>\n    <div v-if=\"timetravel\" :class=\"[style['button-list'], style['right-top']]\">\n      <button @click=\"prev\" :class=\"{ [style['disabled']]: !hasPrev }\"><i :class=\"style['prev']\"></i></button>\n      <button @click=\"next\" :class=\"{ [style['disabled']]: !hasNext }\"><i :class=\"style['next']\"></i></button>\n    </div>\n    <contextmenu\n      v-if=\"ctm\"\n      :position=\"contextmenuPos\"\n      :groups=\"menu\"\n      @click-item=\"onClickMenu\"\n    ></contextmenu>\n  </div>\n</template>\n\n<script lang=\"ts\">\nimport emitter from '@/mitt'\nimport { defineComponent, onMounted, PropType, watch, watchEffect } from 'vue'\nimport { Data, Locale, TwoNumber } from './interface'\nimport style from './css'\nimport * as d3 from './d3'\nimport { afterOperation, ImData, mmdata } from './data'\nimport { hasNext, hasPrev } from './state'\nimport { fitView, getSize, centerView, next, prev, download, bindForeignDiv } from './assistant'\nimport { xGap, yGap, branch, scaleExtent, ctm, selection, changeSharpCorner, addNodeBtn, mmprops } from './variable'\nimport { wrapperEle, svgEle, gEle, asstSvgEle, foreignEle, foreignDivEle  } from './variable/element'\nimport { draw } from './draw'\nimport { switchZoom, switchEdit, switchSelect, switchContextmenu, switchDrag, onClickMenu } from './listener'\nimport Contextmenu from '../Contextmenu.vue'\nimport { cloneDeep } from 'lodash'\nimport i18next from '../../i18n'\n\nexport default defineComponent({\n  name: 'Mindmap',\n  components: {\n    Contextmenu\n  },\n  emits: ['update:modelValue'],\n  props: {\n    modelValue: {\n      type: Array as PropType<Data[]>,\n      required: true\n    },\n    // 绘制所需的变量\n    xGap: { type: Number, default: xGap },\n    yGap: { type: Number, default: yGap },\n    branch: {\n      type: Number,\n      default: branch,\n      validator: (val: number) => val >= 1 && val <= 6 \n    },\n    scaleExtent: {\n      type: Object as PropType<TwoNumber>,\n      default: scaleExtent\n    },\n    sharpCorner: Boolean,\n    // 操作许可\n    centerBtn: Boolean,\n    fitBtn: Boolean,\n    downloadBtn: Boolean,\n    timetravel: Boolean,\n    addNodeBtn: Boolean,\n    edit: Boolean,\n    drag: Boolean,\n    keyboard: Boolean,\n    ctm: Boolean,\n    zoom: Boolean,\n    // i18n\n    locale: { type: String as PropType<Locale>, default: 'zh' }\n  },\n  setup (props, context) {\n    // 立即执行\n    watchEffect(() => i18next.changeLanguage(props.locale))\n    watchEffect(() => emitter.emit('scale-extent', props.scaleExtent))\n    watchEffect(() => emitter.emit('branch', props.branch))\n    watchEffect(() => emitter.emit('sharp-corner', props.sharpCorner))\n    watchEffect(() => emitter.emit('gap', { xGap: props.xGap, yGap: props.yGap }))\n    watchEffect(() => emitter.emit('mindmap-context', context))\n    watchEffect(() => addNodeBtn.value = props.edit && props.addNodeBtn)\n    watchEffect(() => mmprops.value.drag = props.drag)\n    watchEffect(() => mmprops.value.edit = props.edit)\n    // onMounted\n    onMounted(() => {\n      if (!svgEle.value || !gEle.value || !asstSvgEle.value || !foreignEle.value || !foreignDivEle.value) { return }\n      emitter.emit('selection-svg', d3.select(svgEle.value))\n      emitter.emit('selection-g', d3.select(gEle.value))\n      emitter.emit('selection-asstSvg', d3.select(asstSvgEle.value))\n      emitter.emit('selection-foreign',d3.select(foreignEle.value))\n      emitter.emit('mmdata', new ImData(cloneDeep(props.modelValue[0]), xGap, yGap, getSize))\n\n      changeSharpCorner.value = false\n      afterOperation()\n      const { svg, foreign } = selection\n      foreign?.raise()\n      bindForeignDiv()\n      fitView()\n      // mousedown与drag/zoom绑定的先后顺序会有影响\n      svg?.on('mousedown', () => {\n        const oldSele = document.getElementsByClassName(style.selected)[0]\n        oldSele?.classList.remove(style.selected)\n      })\n      switchZoom(props.zoom)\n      switchContextmenu(props.ctm)\n    })\n    // watch\n    watch(() => [props.branch, addNodeBtn.value, props.sharpCorner], () => {\n      draw()\n      changeSharpCorner.value = false\n    })\n    watch(() => [props.xGap, props.yGap], (val) => {\n      mmdata.setBoundingBox(val[0], val[1])\n      draw()\n    })\n    watch(() => [props.drag, props.edit], (val) => {\n      switchSelect(val[0] || val[1])\n      switchDrag(val[0])\n      switchEdit(val[1])\n    })\n    watch(() => props.zoom, (val) => switchZoom(val))\n    watch(() => props.ctm, (val) => switchContextmenu(val))\n\n    return {\n      wrapperEle,\n      svgEle,\n      gEle,\n      style,\n      asstSvgEle,\n      foreignEle,\n      foreignDivEle,\n      centerView,\n      fitView,\n      download,\n      menu: ctm.menu,\n      contextmenuPos: ctm.pos,\n      onClickMenu,\n      next,\n      prev,\n      hasPrev,\n      hasNext\n    }\n  }\n})\n</script>\n"
  },
  {
    "path": "src/components/Mindmap/assistant.ts",
    "content": "import emitter from '@/mitt'\nimport html2canvas from 'html2canvas'\nimport { getDataId, getGTransform, getPath } from './attribute'\nimport * as d3 from './d3'\nimport style from './css'\nimport { Data, Mdata, TwoNumber } from './interface'\nimport { observer, selection, zoom, zoomTransform } from './variable'\nimport { afterOperation, mmdata } from './data'\nimport { snapshot } from './state'\nimport { foreignDivEle, gEle, svgEle, wrapperEle } from './variable/element'\nimport { onEditBlur } from './listener'\n\n/**\n * 使页面重排\n * @param ele - Element\n */\nexport const reflow = (ele: Element): number => ele.clientHeight\n\n/**\n * 获取一个加号图形的path路径，图形的中心坐标为（0，0）\n * @param stroke - 线条的粗细\n * @param side - 图形的边长\n */\nexport const getAddPath = (stroke: number, side: number): string => {\n  const temp0 = -side / 2\n  const temp1 = -stroke / 2\n  const temp2 = stroke / 2\n  const temp3 = side / 2\n  return `M${temp3},${temp2}H${temp2}V${temp3}H${temp1}V${temp2}H${temp0}V${temp1}H${temp1}V${temp0}H${temp2}V${temp1}H${temp3}V${temp2}Z`\n}\n\n/**\n * 将一个字符串按换行符切分，返回字符串数组\n * @param str - 字符串\n */\nexport const getMultiline = (str: string): string[] => {\n  const multiline = str.split('\\n')\n  if (multiline.length > 1 && multiline[multiline.length - 1] === '') {\n    multiline.pop()\n  }\n  return multiline\n}\n\nexport const convertToImg = (svgdiv: HTMLDivElement, name: string): void => {\n  html2canvas(svgdiv).then((canvas) => {\n    const dataUrl = canvas.toDataURL()\n    const window = open()\n    if (window) {\n      window.document.write(`<img src='${dataUrl}'>`)\n      window.document.title = name\n      window.document.close()\n    }\n  })\n}\n\nexport const makeTransition = (\n  dura: number, easingFn: (normalizedTime: number) => number\n): d3.Transition<d3.BaseType, Mdata, null, undefined> => {\n  return d3.transition<Mdata>().duration(dura).ease(easingFn) as d3.Transition<any, Mdata, null, undefined>\n}\n\nexport const getRelativePos = (wrapper: HTMLElement, e: MouseEvent): { left: number, top: number } => {\n  const { pageX, pageY } = e\n  const wrapperPos = wrapper.getBoundingClientRect()\n  const wrapperLeft = wrapperPos.left + window.pageXOffset\n  const wrapperTop = wrapperPos.top + window.pageYOffset\n\n  return {\n    left: pageX - wrapperLeft,\n    top: pageY - wrapperTop\n  }\n}\n\n/**\n * @param this - gText\n */\nexport function getDragContainer (this: SVGGElement): SVGGElement {\n  return this.parentNode?.parentNode?.parentNode as SVGGElement\n}\n\nexport function selectGNode (d: SVGGElement): void\nexport function selectGNode (d: Mdata): void\nexport function selectGNode (d: SVGGElement | Mdata): void {\n  const ele = d instanceof SVGGElement ? d : document.querySelector<SVGGElement>(`g[data-id='${getDataId(d)}']`)\n  const oldSele = document.getElementsByClassName(style.selected)[0]\n  if (ele) {\n    if (oldSele) {\n      if (oldSele !== ele) {\n        oldSele.classList.remove(style.selected)\n        ele.classList.add(style.selected)\n      } else {\n        emitter.emit('edit-flag', true)\n      }\n    } else {\n      ele.classList.add(style.selected)\n    }\n  } else {\n    throw new Error('selectGNode failed')\n  }\n}\n\nexport function getSelectedGData (): Mdata {\n  const sele = d3.select<SVGGElement, Mdata>(`.${style.selected}`)\n  return sele.data()[0]\n}\n\n/**\n * 获取文本在tspan中的宽度与高度\n * @param text -\n * @returns -\n */\nexport const getSize = (text: string): { width: number, height: number } => {\n  const { asstSvg } = selection\n  if (!asstSvg) { throw new Error('asstSvg undefined') }\n  const multiline = getMultiline(text)\n  const t = asstSvg.append('text')\n  t.selectAll('tspan').data(multiline).enter().append('tspan').text((d) => d).attr('x', 0)\n  const tBox = (t.node() as SVGTextElement).getBBox()\n  t.remove()\n  return {\n    width: Math.max(tBox.width, 22),\n    height: Math.max(tBox.height, 22) * multiline.length\n  }\n}\n\nexport const moveNode = (node: SVGGElement, d: Mdata, p: TwoNumber, dura = 0): void => {\n  const tran = makeTransition(dura, d3.easePolyOut)\n  d.px = p[0]\n  d.py = p[1]\n  d3.select<SVGGElement, Mdata>(node).transition(tran).attr('transform', getGTransform)\n  d3.select<SVGPathElement, Mdata>(`g[data-id='${getDataId(d)}'] > path`)\n    .transition(tran)\n    .attr('d', (d) => getPath(d))\n}\n\nexport const centerView = (): void => {\n  const { svg } = selection\n  if (!svg) { return }\n  const data = mmdata.data\n  zoom.translateTo(svg, 0 + data.width / 2, 0 + data.height / 2)\n}\n\n/**\n * 缩放至合适大小并移动至全部可见\n */\nexport const fitView = (): void => {\n  const { svg } = selection\n  if (!svg || !gEle.value || !svgEle.value) { return }\n  const gBB = gEle.value.getBBox()\n  const svgBCR = svgEle.value.getBoundingClientRect()\n  const multiple = Math.min(svgBCR.width / gBB.width, svgBCR.height / gBB.height)\n  const svgCenter = { x: svgBCR.width / 2, y: svgBCR.height / 2 }\n  // after scale\n  const gCenter = { x: gBB.width * multiple / 2, y: gBB.height * multiple / 2 }\n  const center = d3.zoomIdentity.translate(\n    -gBB.x * multiple + svgCenter.x - gCenter.x,\n    -gBB.y * multiple + svgCenter.y - gCenter.y\n  ).scale(multiple)\n  zoom.transform(svg, center)\n}\n\n/**\n * 元素被遮挡时，移动视图使其处于可见区域\n * @param ele - 元素\n */\nexport const moveView = (ele: Element): void => {\n  const { svg } = selection\n  // 得到d相对于视图左上角的坐标\n  if (svg && svgEle.value) {\n    const { k } = zoomTransform.value\n    const gBCR = ele.getBoundingClientRect()\n    const { x, y, width, height } = svgEle.value.getBoundingClientRect()\n    const gLeft = gBCR.x - x\n    const gRight = gLeft + gBCR.width\n    const gTop = gBCR.y - y\n    const gBottom = gTop + gBCR.height\n    const space = 2 // 元素与视图的空隙，方便区分\n    let x1 = 0\n    let y1 = 0\n\n    if (gLeft < 0) { x1 = -gLeft / k + space }\n    if (gBCR.width > width || gRight > width) { x1 = -(gRight - width) / k - space }\n\n    if (gTop < 0) { y1 = -gTop / k + space }\n    if (gBCR.height > height || gBottom > height) { y1 = -(gBottom - height) / k - space}\n\n    zoom.translateBy(svg, x1, y1)\n  }\n}\n\n/**\n * 按一定程度缩放\n * @param flag - 为true时放大，false缩小\n */\nexport const scaleView = (flag: boolean): void => {\n  const { svg } = selection\n  if (!svg) { return }\n  zoom.scaleBy(svg, flag ? 1.1 : 0.9)\n}\nexport const download = (): void => {\n  if (!wrapperEle.value) { return }\n  convertToImg(wrapperEle.value, mmdata.data.name)\n}\nexport const next = (): void => {\n  const nextData = snapshot.next()\n  if (nextData) {\n    mmdata.data = nextData\n    afterOperation(false)\n  }\n}\nexport const prev = (): void => {\n  const prevData = snapshot.prev()\n  if (prevData) {\n    mmdata.data = prevData\n    afterOperation(false)\n  }\n}\n\n/**\n * foreignDivEle事件监听与观察\n */\nexport const bindForeignDiv = (): void => {\n  if (foreignDivEle.value) {\n    observer.observe(foreignDivEle.value)\n    foreignDivEle.value.addEventListener('blur', onEditBlur)\n    foreignDivEle.value.addEventListener('mousedown', (e: MouseEvent) => e.stopPropagation())\n  }\n}\n\n/**\n * 判断字符串是否符合Data的数据格式，如果是，则返回格式化的数据，如果不是，返回false\n */\nexport const isData = (str: string): Data | false => {\n  let data\n  try {\n    data = JSON.parse(str)\n    return 'name' in data ? data : false\n  } catch (error) {\n    return false\n  }\n}"
  },
  {
    "path": "src/components/Mindmap/attribute/get.ts",
    "content": "import { Mdata, TspanData, TwoNumber } from '@/components/Mindmap/interface'\nimport { getMultiline } from '../assistant'\nimport style from '../css'\nimport { addBtnSide, link, textRectPadding, sharpCorner, expandBtnRect, addBtnRect } from '../variable'\nconst getYOffset = () => 3 // max-branch / 2\n\nexport const getSiblingGClass = (d?: Mdata): string[] => {\n  const arr = ['node']\n  if (d) { arr.push(`depth-${d.depth}`) }\n  return arr\n}\nexport const getGClass = (d?: Mdata): string[] => {\n  const arr = getSiblingGClass(d)\n  if (d) {\n    if (d.depth === 0) { arr.push(style.root) }\n    if (d.collapse) {\n      arr.push(style['collapse'])\n    } else if (!d.children || d.children.length === 0) {\n      arr.push('leaf')\n    }\n  }\n  return arr\n}\nexport const getAddBtnClass = (d: Mdata): string[] => {\n  const arr = [style['add-btn']]\n  if (d.collapse) {\n    arr.push(style['hidden'])\n  }\n  return arr\n}\nexport const getGTransform = (d: Mdata): string => { return `translate(${d.dx + d.px},${d.dy + d.py})` }\nexport const getDataId = (d: Mdata): string => { return d.id }\nexport const getTspanData = (d: Mdata): TspanData[] => {\n  const multiline = getMultiline(d.name)\n  const height = d.height / multiline.length\n  return multiline.map((name) => ({ name, height }))\n}\nexport const getPath = (d: Mdata): string => {\n  let dpw = 0\n  let dph = 0\n  const trp = Math.max(textRectPadding - 3, 0) // -3为了不超过选中框\n  let w = d.width + trp\n  const targetOffset = getYOffset()\n  let sourceOffset = targetOffset\n  const { parent } = d\n  if (parent) {\n    dpw = parent.width\n    dph = parent.height\n    if (parent.depth === 0) {\n      if (!sharpCorner) { dpw /= 2 }\n      dph /= 2\n      sourceOffset = 0\n    }\n  }\n  if (d.left) {\n    if (parent) {\n      if (parent.depth !== 0) {\n        dpw = -dpw\n      } else if (sharpCorner) {\n        dpw = 0\n      }\n    }\n    w = -w\n  }\n  const source: TwoNumber = [-d.dx + dpw - d.px, -d.dy + dph + sourceOffset - d.py]\n  const target: TwoNumber = [0, d.height + targetOffset]\n  return `${link({ source, target })}L${w},${target[1]}`\n}\nexport const getAddBtnTransform = (d: Mdata, trp: number): string => {\n  const y = d.depth === 0 ? d.height / 2 : d.height + getYOffset()\n  let x = d.width + trp + addBtnSide / 2 + addBtnRect.margin\n  if (d.left) { x = -x }\n  return `translate(${x},${y})`\n}\nexport const getExpandBtnTransform = (d: Mdata, trp: number): string => {\n  const gap = 4\n  const y = d.depth === 0 ? d.height / 2 : d.height + getYOffset()\n  let x = d.width + trp + expandBtnRect.width / 2 + gap\n  if (d.left) { x = -x }\n  return `translate(${x},${y})`\n}"
  },
  {
    "path": "src/components/Mindmap/attribute/index.ts",
    "content": "export * from './get'\nexport * from './set'"
  },
  {
    "path": "src/components/Mindmap/attribute/set.ts",
    "content": "import { IsMdata, Mdata, SelectionCircle, SelectionG, SelectionRect, Transition, TspanData } from '../interface'\nimport * as d3 from '../d3'\nimport { addBtnRect, addBtnSide, branch, changeSharpCorner, expandBtnRect, rootTextRectPadding, rootTextRectRadius, textRectPadding } from '../variable'\nimport { getAddBtnClass, getAddBtnTransform, getDataId, getExpandBtnTransform, getGClass, getGTransform, getPath } from './get'\nimport style from '../css'\n\n/**\n * 根据该节点是否是根节点，绘制不同的效果\n */\nexport const attrA = (\n  isRoot: boolean,\n  gTrigger: SelectionRect,\n  gTextRect: SelectionRect,\n  gExpandBtn: SelectionG,\n  gAddBtn?: SelectionG\n): void => {\n  if (isRoot) {\n      attrTrigger(gTrigger, rootTextRectPadding)\n      attrTextRect(gTextRect, rootTextRectPadding, rootTextRectRadius)\n      attrExpandBtn(gExpandBtn, rootTextRectPadding)\n      if (gAddBtn) { attrAddBtn(gAddBtn, rootTextRectPadding) }\n    } else {\n      attrTrigger(gTrigger, textRectPadding)\n      attrTextRect(gTextRect, textRectPadding)\n      attrExpandBtn(gExpandBtn, textRectPadding)\n      if (gAddBtn) { attrAddBtn(gAddBtn, textRectPadding) }\n    }\n}\n\nexport const attrG = (g: SelectionG, tran?: Transition): void => {\n  const g1 = g.attr('class', (d) => getGClass(d).join(' ')).attr('data-id', getDataId)\n  const g2 = tran ? g1.transition(tran) : g1\n  g2.attr('transform', getGTransform)\n}\n\nexport const attrText = (text: d3.Selection<SVGTextElement, Mdata, SVGGElement, IsMdata>, tran?: Transition): void => {\n  const t1 = tran ? text.transition(tran) : text\n  t1.attr('transform', (d) => `translate(${d.left ? -d.width : 0},0)`)\n}\n\nexport const attrTspan = (tspan: d3.Selection<SVGTSpanElement, TspanData, SVGTextElement, Mdata>): void => {\n  tspan.attr('alignment-baseline', 'text-before-edge')\n    .text((d) => d.name || ' ')\n    .attr('x', 0)\n    .attr('dy', (d, i) => i ? d.height : 0)\n}\n\nexport const attrAddBtnRect = (rect: SelectionRect): void => {\n  const { side, padding } = addBtnRect\n  const radius = 4\n  const temp0 = -padding - side / 2\n  const temp1 = side + padding * 2\n  rect.attr('x', temp0).attr('y', temp0).attr('rx', radius).attr('ry', radius).attr('width', temp1).attr('height', temp1)\n}\n\nexport const attrExpandBtnRect = (rect: SelectionRect): void => {\n  rect.attr('x', -expandBtnRect.width/2).attr('y', -expandBtnRect.height/2)\n    .attr('width', expandBtnRect.width).attr('height', expandBtnRect.height)\n    .attr('rx', expandBtnRect.radius).attr('ry', expandBtnRect.radius)\n    .attr('stroke', (d) => d.color || 'grey')\n    .attr('fill', (d) => d.color || 'grey')\n}\n\nexport const attrExpandBtnCircle = (circle: SelectionCircle, cx: number): void => {\n  circle.attr('cx', cx).attr('cy', 0).attr('r', 1)\n}\n\nexport const attrTextRect = (rect: SelectionRect, padding: number, radius = 4): void => {\n  rect.attr('x', (d) => -padding - (d.left ? d.width : 0))\n    .attr('y', -padding)\n    .attr('rx', radius).attr('ry', radius)\n    .attr('width', (d) => d.width + padding * 2)\n    .attr('height', (d) => d.height + padding * 2)\n}\n\nexport const attrExpandBtn = (g: SelectionG, trp: number): void => {\n  g.attr('class', style['expand-btn'])\n    .attr('transform', (d) => getExpandBtnTransform(d, trp))\n    .style('color', d => d.color)\n}\n\nexport const attrAddBtn = (g: SelectionG, trp: number): void => {\n  g.attr('class', (d) => getAddBtnClass(d).join(' ')).attr('transform', (d) => getAddBtnTransform(d, trp))\n}\n\nexport const attrTrigger = (rect: SelectionRect, padding: number): void => {\n  const w = addBtnSide + addBtnRect.margin\n  const p = padding * 2\n  rect.attr('class', style.trigger)\n    .attr('x', (d) => -padding - (d.left ? d.width + w : 0))\n    .attr('y', -padding)\n    .attr('width', (d) => d.width + p + w)\n    .attr('height', (d) => d.height + p)\n}\n\nexport const attrPath = (\n  p: d3.Selection<SVGPathElement, Mdata, SVGGElement, IsMdata>,\n  tran?: Transition\n): void => {\n  const p1 = p.attr('stroke', (d) => d.color).attr('stroke-width', branch)\n\n  if (tran) {\n    const p2 = p1.transition(tran)\n    if (changeSharpCorner.value) { // 只有在改变sharpCorner的时候才应该调用\n      p2.attrTween('d', pathTween)\n    } else {\n      p2.attr('d', getPath)\n    }\n  } else {\n    p1.attr('d', getPath)\n  }\n}\n\nfunction pathTween (data: Mdata, index: number, paths: ArrayLike<SVGPathElement>) {\n  const precision = 10\n  const d = getPath(data)\n  const path0 = paths[index]\n  const path1 = path0.cloneNode() as SVGPathElement\n  const n0 = path0.getTotalLength()\n  path1.setAttribute('d', d)\n  const n1 = path1.getTotalLength()\n\n  // Uniform sampling of distance based on specified precision.\n  const distances = [0]\n  const dt = precision / Math.max(n0, n1)\n  let i = 0\n  while ((i += dt) < 1) distances.push(i)\n  distances.push(1)\n\n  // Compute point-interpolators at each distance.\n  const points = distances.map((t) => {\n    const p0 = path0.getPointAtLength(t * n0)\n    const p1 = path1.getPointAtLength(t * n1)\n    return d3.interpolate([p0.x, p0.y], [p1.x, p1.y])\n  })\n\n  return (t: number) => {\n    return t < 1 ? 'M' + points.map(p => p(t)).join('L') : d\n  }\n}"
  },
  {
    "path": "src/components/Mindmap/css/Mindmap.module.scss",
    "content": "$seleColor: rgba($color: blue, $alpha: 0.15);\n\n.container {\n  position: relative;\n  height: 100%;\n\n  svg text {\n    white-space: pre;\n  }\n\n  #svg-wrapper {\n    width: 100%;\n    height: 100%;\n  }\n\n  .asst-svg {\n    position: absolute;\n    width: 0;\n    height: 0;\n  }\n}\n\n.svg {\n  display: block;\n  width: 100%;\n  height: 100%;\n  background-color: #eeeef3;\n\n  path {\n    fill: none;\n    stroke-linecap: round;\n  }\n\n  text {\n    fill: #4B4B4B;\n    cursor: default;\n  }\n\n  foreignObject {\n    background-color: white;\n    border: 1px solid #aaa;\n\n    div {\n      display: inline-block;\n      outline: none;\n      width: max-content;\n      min-width: 22px;\n      padding: 1px;\n      white-space: pre;\n    }\n  }\n\n  .trigger {\n    fill: transparent;\n  }\n\n  &.dragging .add-btn { visibility: hidden; }\n\n  .add-btn {\n    opacity: 0;\n\n    &.hidden {\n      visibility: hidden;\n    }\n\n    rect {\n      stroke-width: 1;\n      stroke: grey;\n      fill: white;\n    }\n\n    path {\n      fill: #8685ff\n    }\n  }\n\n  .expand-btn {\n    visibility: hidden;\n\n    &:hover {\n      rect {\n        fill: white\n      }\n\n      circle {\n        fill: currentColor;\n      }\n    }\n  }\n\n  .text > rect {\n    opacity: 0;\n    fill: $seleColor;\n    stroke-width: 1;\n    stroke: white;\n  }\n\n  // 关于selected\n  .selected > .content > .text > rect {\n    opacity: 1;\n  }\n\n  .root.selected > .content > .text > rect {\n    stroke-width: 3;\n    stroke: $seleColor;\n  }\n\n  // 关于edited\n  .edited > .content > .text {\n    opacity: 0;\n  }\n\n  // outline\n  .outline > .content > .text > rect {\n    opacity: 1;\n    fill: transparent;\n    stroke-width: 3;\n    stroke: $seleColor;\n  }\n\n  .root > .content > .text > rect {\n    opacity: 1;\n    fill: white;\n  }\n\n  .collapse > .content > .expand-btn {\n    visibility: visible;\n  }\n}\n\n.button-list {\n  position: absolute;\n\n  &.right-bottom { bottom: 0; right: 0; }\n  &.right-top { top: 0; right: 0; display: flex; }\n}\n\n.button-list button {\n  position: relative;\n  cursor: pointer;\n  width: 36px;\n  height: 36px;\n  border-radius: 50%;\n  background-color: transparent;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  padding: 0;\n  border: 0;\n  color: #3f51b5;\n\n  &::before {\n    background-color: currentColor;\n    border-radius: inherit;\n    content: \"\";\n    opacity: 0;\n    position: absolute;\n    left: 0;\n    right: 0;\n    top: 0;\n    bottom: 0;\n    transition: opacity 0.2s cubic-bezier(0.4, 0, 0.6, 1);\n  }\n\n  &:hover::before { opacity: 0.1; }\n\n  &.disabled {\n    pointer-events: none;\n    \n    i { filter: invert(85%) sepia(20%) saturate(0%) hue-rotate(125deg) brightness(86%) contrast(93%); }\n  }\n\n  i {\n    filter: invert(25%) sepia(40%) saturate(5050%) hue-rotate(227deg) brightness(78%) contrast(74%);\n    width: 24px;\n    height: 24px;\n\n    &.gps { background-image: url(/icons/24px/crosshairs-gps.png) }\n    &.fit { background-image: url(/icons/24px/fit-to-page-outline.png) }\n    &.download { background-image: url(/icons/24px/download.png) }\n    &.prev { background-image: url(/icons/24px/prev.png) }\n    &.next { background-image: url(/icons/24px/next.png) }\n    &.close { background-image: url(/icons/24px/close.png) }\n  }\n}"
  },
  {
    "path": "src/components/Mindmap/css/Mindmap.module.scss.d.ts",
    "content": "declare const style: {\n  readonly container: string\n  readonly 'svg-wrapper': string\n  readonly svg: string\n  readonly 'asst-svg': string\n  readonly dragging: string\n  readonly 'button-list': string\n  readonly 'right-bottom': string\n  readonly 'right-top': string\n  readonly disabled: string\n  readonly gps: string\n  readonly fit: string\n  readonly root: string\n  readonly selected: string\n  readonly edited: string\n  readonly text: string\n  readonly outline: string\n  readonly download: string\n  readonly 'add-btn': string\n  readonly 'hidden': string\n  readonly 'expand-btn': string\n  readonly 'collapse': string\n  readonly content: string\n  readonly trigger: string\n  readonly menu: string\n  readonly prev: string\n  readonly next: string\n}\nexport default style\n"
  },
  {
    "path": "src/components/Mindmap/css/index.ts",
    "content": "import style from './Mindmap.module.scss'\nexport default style"
  },
  {
    "path": "src/components/Mindmap/d3.ts",
    "content": "export * from 'd3-shape'\nexport * from 'd3-ease'\nexport * from 'd3-zoom'\nexport * from 'd3-selection'\nexport * from 'd3-drag'\nexport * from 'd3-transition'\nexport * from 'd3-interpolate'\n"
  },
  {
    "path": "src/components/Mindmap/data/ImData.ts",
    "content": "import * as d3ScaleChromatic from 'd3-scale-chromatic'\nimport * as d3Scale from 'd3-scale'\nimport { Data, Mdata, IsMdata } from '@/components/Mindmap/interface'\nimport { BoundingBox, Layout } from './flextree'\n\ntype GetSize = (text: string) => { width: number, height: number }\ntype Processer = (d: Mdata, id: string) => void\n\nconst swapWidthAndHeight = (d: Mdata) => [d.width, d.height] = [d.height, d.width]\n\nconst renewDelta = (d: Mdata) => {\n  if (d.parent) {\n    d.dx = d.x - d.parent.x\n    d.dy = d.y - d.parent.y\n  } else {\n    d.dx = 0\n    d.dy = 0\n  }\n}\n\nconst renewId = (d: Mdata, id: string) => d.id = id\nconst renewDepth = (d: Mdata) => {\n  if (d.parent) {\n    d.depth = d.parent.depth + 1\n  } else {\n    d.depth = 0\n  }\n}\n\nconst renewColor = (d: Mdata): void => {\n  if (d.parent && d.parent.color) {\n    d.color = d.parent.color\n  }\n}\n\nconst renewLeft = (d: Mdata) => {\n  if (d.depth > 1 && d.parent) {\n    d.left = d.parent.left\n  }\n}\n\nconst separateLeftAndRight = (d: Mdata): { left: Mdata, right: Mdata } => {\n  const ld = Object.assign({}, d)\n  const rd = Object.assign({}, d)\n  if (d.collapse) {\n    //\n  } else {\n    const { children } = d\n    ld.children = []\n    rd.children = []\n    children.forEach((child) => {\n      if (child.left) {\n        ld.children.push(child)\n      } else {\n        rd.children.push(child)\n      }\n      if (child.parent) { child.parent = rd }\n    })\n  }\n  return { left: ld, right: rd }\n}\n\n/**\n * 遍历数据d，在此过程中会对每个数据调用指定函数，同时删除id为del的数据，不处理被折叠的数据\n * @param d - 数据\n * @param processers - 函数\n * @param id - 新id\n */\nconst traverse = (d: Mdata, processers: Processer[], id = '0') => {\n  processers.forEach((p) => { p(d, id) })\n  const { children } = d\n  if (children) {\n    for (let index = 0; index < children.length; ) {\n      const child = children[index]\n      if (child.id === 'del') {\n        children.splice(index, 1)\n        d.rawData.children?.splice(index, 1)\n      } else {\n        traverse(child, processers, `${id}-${index}`)\n        index += 1\n      }\n    }\n  }\n}\n\nconst getLayout = (xGap: number, yGap: number) => {\n  const bb = new BoundingBox(yGap, xGap)\n  return new Layout(bb)\n}\n\nclass ImData {\n  data: Mdata\n  private getSize: GetSize\n  private layout: Layout\n  private colorScale: d3Scale.ScaleOrdinal<string, string, never>\n  private colorNumber = 0\n  private gKey = 0\n  private rootWidth = 0\n  private diffY = 0 // 左树与右树的差值\n\n  constructor (\n    d: Data,\n    xGap: number,\n    yGap: number,\n    getSize: GetSize,\n    colorScale = d3Scale.scaleOrdinal(d3ScaleChromatic.schemePaired)\n  ) {\n    this.colorScale = colorScale\n    this.getSize = getSize\n    this.layout = getLayout(xGap, yGap)\n    this.data = this.createMdataFromData(d, '0')\n    this.renew()\n  }\n\n  private createMdataFromData (rawData: Data, id: string, parent: IsMdata = null): Mdata {\n    const { name, collapse, children: rawChildren } = rawData\n    const { width, height } = this.getSize(name)\n    const depth = parent ? parent.depth + 1 : 0\n    let left = false\n    let color = parent ? parent.color : ''\n    if (depth === 1) {\n      left = !!rawData.left\n      color = this.colorScale(`${this.colorNumber += 1}`)\n    } else if (depth !== 0 && parent) {\n      left = parent.left\n    }\n    const data: Mdata = {\n      id, name, rawData, parent, left, color, depth,\n      x: 0, y: 0, dx: 0, dy: 0, px: 0, py: 0,\n      width, height, children: [], _children: [],\n      collapse: !!collapse,\n      gKey: this.gKey += 1,\n    }\n    if (rawChildren) {\n      if (!data.collapse) {\n        rawChildren.forEach((c, j) => {\n          data.children.push(this.createMdataFromData(c, `${id}-${j}`, data))\n        })\n      } else {\n        rawChildren.forEach((c, j) => {\n          data._children.push(this.createMdataFromData(c, `${id}-${j}`, data))\n        })\n      }\n    }\n\n    return data\n  }\n\n  /**\n   * 默认更新x, y, dx, dy, left, depth\n   * @param plugins - 需要更新其他属性时的函数\n   */\n  private renew (...plugins: Processer[]): void {\n    traverse(this.data, [swapWidthAndHeight, renewDepth, renewLeft])\n    this.data = this.l(this.data)\n    const temp: Processer[] = [swapWidthAndHeight, this.renewXY.bind(this), renewDelta]\n    traverse(this.data, temp.concat(plugins))\n  }\n\n  /**\n   * 分别计算左右树，最后合并成一颗树，右树为主树\n   */\n  private l (data: Mdata): Mdata {\n    const { left, right } = separateLeftAndRight(data)\n    this.layout.layout(left) // 更新x,y\n    this.layout.layout(right)\n    this.diffY = right.x - left.x\n    this.rootWidth = left.height\n    right.children = data.children // children原顺序\n    return right\n  }\n\n  private renewXY (d: Mdata): void {\n    [d.x, d.y] = [d.y, d.x]\n    if (d.left) {\n      d.x = -d.x + this.rootWidth\n      d.y += this.diffY\n    }\n  }\n\n  getRootWidth (): number { return this.rootWidth }\n\n  setBoundingBox (xGap: number, yGap: number): void {\n    this.layout = getLayout(xGap, yGap)\n    this.renew()\n  }\n\n  find (id: string): IsMdata { // 根据id找到数据\n    const array = id.split('-').map(n => ~~n)\n    let data = this.data\n    for (let i = 1; i < array.length; i++) {\n      const index = array[i]\n      const { children } = data\n      if (index < children.length) {\n        data = children[index]\n      } else { // No data matching id\n        return null\n      }\n    }\n    return data.id === id ? data : null\n  }\n\n  rename (id: string, name: string): IsMdata { // 修改名称\n    if (id.length > 0) {\n      const d = this.find(id)\n      if (d && d.name !== name) {\n        d.name = name\n        d.rawData.name = name\n        //\n        const size = this.getSize(d.name)\n        d.width = size.width\n        d.height = size.height\n        this.renew()\n      }\n      return d\n    } else {\n      return null\n    }\n  }\n\n  /**\n   * 将b节点移动到a节点下\n   * @param parentId - 目标节点a\n   * @param delId - 被移动节点b\n   */\n  moveChild (parentId: string, delId: string): IsMdata {\n    if (parentId === delId) { return null }\n    const np = this.find(parentId)\n    const del = this.find(delId)\n    const delIndex = delId.split('-').pop()\n    if (delIndex && np && del) {\n      const delParent = del.parent\n      delParent?.children?.splice(~~delIndex, 1)\n      delParent?.rawData.children?.splice(~~delIndex, 1)\n      del.parent = np\n      del.gKey = this.gKey += 1\n      del.depth = del.parent.depth + 1\n      if (del.depth === 1) {\n        del.color = this.colorScale(`${this.colorNumber += 1}`)\n      } else {\n        del.left = del.parent.left\n      }\n      if (np.collapse) {\n        np._children.push(del)\n      } else {\n        np.children.push(del)\n      }\n      np.rawData.children ? np.rawData.children.push(del.rawData) : np.rawData.children = [del.rawData]\n      this.renew(renewId, renewColor)\n    }\n    return del\n  }\n\n  moveSibling (id: string, referenceId: string, after = 0): IsMdata { // 同层调换顺序\n    const idArr = id.split('-')\n    const refArr = referenceId.split('-')\n    let index: number | string | undefined = idArr.pop()\n    let refIndex: number | string | undefined = refArr.pop()\n    if (id === referenceId || idArr.length !== refArr.length || !index || !refIndex) {\n      return null\n    }\n    const d = this.find(id)\n    const r = this.find(referenceId)\n    if (r && d && d.parent) {\n      index = parseInt(index, 10)\n      refIndex = parseInt(refIndex, 10)\n      if (index < refIndex) { refIndex -= 1 } // 删除时可能会改变插入的序号\n      const { children } = d.parent\n      const { children: rawChildren } = d.parent.rawData\n      if (children && rawChildren) {\n        children.splice(index, 1)\n        children.splice(refIndex + after, 0, d)\n        rawChildren.splice(index, 1)\n        rawChildren.splice(refIndex + after, 0, d.rawData)\n        if (d.depth === 1) { d.left = r.left }\n        this.renew(renewId)\n        return d\n      }\n    }\n    return null\n  }\n\n  add (id: string, variable: string | Data): IsMdata {\n    const p = this.find(id)\n    if (p) {\n      if (p.collapse) { this.expand(id) }\n      if (!p.rawData.children) { p.rawData.children = [] }\n      if (typeof variable === 'string') {\n        const name = variable\n        const size = this.getSize(name)\n        const rawData: Data = { name }\n        const color = p.color ? p.color : this.colorScale(`${this.colorNumber += 1}`)\n        const d: Mdata = {\n          id: `${p.id}-${p.children.length}`,\n          name,\n          rawData,\n          parent: p,\n          left: p.left,\n          collapse: false,\n          color,\n          gKey: this.gKey += 1,\n          width: size.width,\n          height: size.height,\n          depth: p.depth + 1,\n          x: 0,\n          y: 0,\n          dx: 0,\n          dy: 0,\n          px: 0,\n          py: 0,\n          children: [],\n          _children: []\n        }\n        p.children.push(d)\n        p.rawData.children.push(rawData)\n        this.renew()\n        return d\n      } else {\n        const rawData = variable\n        const m = this.createMdataFromData(rawData, `${p.id}-${p.children.length}`, p)\n        p.children.push(m)\n        p.rawData.children.push(rawData)\n        this.renew()\n        return m\n      }\n    }\n\n    return null\n  }\n\n  expand (id: string): IsMdata { return this.eoc(id, false, [renewColor, renewId]) }\n  collapse (id: string): IsMdata { return this.eoc(id, true) }\n\n  /**\n   * 展开或折叠(expand or collapse)\n   */\n  eoc (id: string, collapse: boolean, plugins: Processer[] = []): IsMdata {\n    const d = this.find(id)\n    if (d) {\n      d.collapse = collapse\n      d.rawData.collapse = collapse\n      ;[d._children, d.children] = [d.children, d._children]\n      this.renew(...plugins)\n    }\n    return d\n  }\n\n  delete (id: string): void {\n    const del = this.find(id)\n    if (del && del.parent) {\n      del.id = 'del'\n      this.renew(renewId)\n    } else {\n      throw new Error(del ? '暂不支持删除根节点' : '未找到需要删除的节点')\n    }\n  }\n\n  deleteOne (id: string): void {\n    const del = this.find(id)\n    if (del && del.parent) {\n      const { parent, children, _children, collapse, rawData } = del\n      const index = parseInt(id.split('-').pop() as string, 10)\n      parent.children.splice(index, 1, ...(collapse ? _children : children))\n      parent.rawData.children?.splice(index, 1, ...(rawData.children || []))\n      children.forEach(c => {\n        c.parent = parent\n        if (c.depth === 1) { c.rawData.left = c.left }\n      })\n      this.renew(renewId)\n    }\n  }\n\n  addSibling (id: string, name: string, before = false): IsMdata {\n    const d = this.find(id)\n    if (d && d.parent) {\n      const index = parseInt(id.split('-').pop() as string, 10)\n      const { parent, left } = d\n      const rawSibling: Data = { name, left }\n      const size = this.getSize(name)\n      const start = before ? index : index + 1\n      const color = parent.color ? parent.color : this.colorScale(`${this.colorNumber += 1}`)\n      const sibling: Mdata = {\n        name,\n        parent,\n        children: [],\n        _children: [],\n        color,\n        collapse: false,\n        rawData: rawSibling,\n        id: `${parent.id}-${start}`,\n        left,\n        gKey: this.gKey += 1,\n        depth: d.depth,\n        width: size.width,\n        height: size.height,\n        x: 0,\n        y: 0,\n        dx: 0,\n        dy: 0,\n        px: 0,\n        py: 0,\n      }\n      parent.children.splice(start, 0, sibling)\n      parent.rawData.children?.splice(start, 0, rawSibling)\n      this.renew(renewId)\n      return sibling\n    }\n    return null\n  }\n\n  addParent (id: string, name: string): IsMdata {\n    const d = this.find(id)\n    if (d && d.parent) {\n      const { parent: oldP, left, color } = d\n      const size = this.getSize(name)\n      const index = parseInt(d.id.split('-').pop() as string, 10)\n      const rawP: Data = { name, children: [d.rawData], left }\n      oldP.rawData.children?.splice(index, 1, rawP)\n      const p: Mdata = {\n        rawData: rawP,\n        left,\n        name,\n        color,\n        collapse: false,\n        parent: oldP,\n        id: d.id,\n        depth: d.depth,\n        width: size.width,\n        height: size.height,\n        gKey: this.gKey += 1,\n        children: [d],\n        _children: [],\n        x: 0,\n        y: 0,\n        dx: 0,\n        dy: 0,\n        px: 0,\n        py: 0\n      }\n      d.parent = p\n      oldP.children.splice(index, 1, p)\n      this.renew(renewId)\n      return p\n    }\n    return null\n  }\n\n  changeLeft (id: string): IsMdata {\n    const d = this.find(id)\n    if (d) {\n      d.left = !d.left\n      this.renew()\n    }\n    return d\n  }\n}\n\nexport default ImData\n"
  },
  {
    "path": "src/components/Mindmap/data/__tests__/ImData.integration.ts",
    "content": "import ImData from '../ImData'\nimport learnData from '@/learn.json'\nimport { xGap, yGap, getSize } from './config'\nimport { cloneDeep } from 'lodash'\nimport { Data } from '../../interface'\n\ndescribe('思维导图数据-集成测试', () => {\n  let mmdata = new ImData(JSON.parse(JSON.stringify(learnData[0])), xGap, yGap, getSize)\n  const clone = cloneDeep(mmdata)\n\n  beforeEach(() => { mmdata = cloneDeep(clone) })\n\n  it('添加a节点到处于折叠状态的b节点下，然后展开b节点，a节点的color和id更新', () => {\n    const aId = '0-0-0'\n    const bId = '0-1'\n    mmdata.moveChild(bId, aId)\n    mmdata.expand(bId)\n    const d = mmdata.find('0-1-1')\n    expect(d).toBeTruthy()\n    expect(d?.color).toBe(d?.parent?.color)\n  })\n\n  it('成功添加新子节点后，找得到该子节点', () => {\n    const a = mmdata.add('0', '子节点')\n    expect(a).toBeTruthy()\n    if (a) {\n      const d = mmdata.find(a.id)\n      expect(d).toBeTruthy()\n      expect(d?.name).toBe('子节点')\n    }\n  })\n\n  it('添加新子树时，颜色保持一致', () => {\n    const tree: Data = {\n      name: '1',\n      children: [\n        { name: '2' },\n        { name: '3' },\n      ]\n    }\n    const p = mmdata.find('0-0')\n    const d = mmdata.add('0-0', tree)\n    expect(d?.color).toBe(p?.color)\n  })\n\n  it('删除单个目标节点', () => {\n    mmdata.deleteOne('0-2')\n    const d = mmdata.find('0-2')\n    expect(d?.name).toBe('选择集')\n    expect(d?.depth).toBe(1)\n    expect(d?.left).toBe(true)\n  })\n})"
  },
  {
    "path": "src/components/Mindmap/data/__tests__/ImData.unit.ts",
    "content": "import ImData from '../ImData'\nimport learnData from '@/learn.json'\nimport { xGap, yGap, getSize } from './config'\nimport { cloneDeep } from 'lodash'\nimport { Data } from '../../interface'\n\ndescribe('思维导图数据-单元测试', () => {\n  let mmdata = new ImData(JSON.parse(JSON.stringify(learnData[0])), xGap, yGap, getSize)\n  const clone = cloneDeep(mmdata)\n\n  beforeEach(() => {\n    mmdata = cloneDeep(clone)\n  })\n\n  describe('根据Data生成思维导图数据', () => {\n    it('生成成功', () => {\n      expect(mmdata.data).toMatchSnapshot()\n    })\n  })\n\n  describe('找到目标节点', () => {\n    it('成功', () => {\n      const id = '0-2-2'\n      const d = mmdata.find(id)\n      expect(d?.id).toBe(id)\n    })\n  })\n\n  describe('给目标节点添加新子节点', () => {\n    it('添加成功', () => {\n      const d = mmdata.add('0-0', '子节点')\n      expect(d?.id).toBe('0-0-5')\n      expect(d?.name).toBe('子节点')\n      expect(d).toMatchSnapshot()\n    })\n\n    it('目标节点处于折叠状态下时，转换为展开状态并添加成功', () => {\n      const d = mmdata.add('0-1', '子节点')\n      expect(d?.parent?.collapse).toBeFalsy()\n      expect(d?.id).toBe('0-1-1')\n      expect(d?.name).toBe('子节点')\n    })\n\n    it('添加新子树', () => {\n      const tree: Data = {\n        name: '1',\n        children: [\n          { name: '2' },\n          { name: '3' },\n        ]\n      }\n      const d = mmdata.add('0-0', tree)\n      expect(d?.id).toBe('0-0-5')\n      expect(d?.name).toBe('1')\n      expect(d?.children[0].id).toBe('0-0-5-0')\n      expect(d?.children[0].name).toBe('2')\n      expect(d).toMatchSnapshot()\n    })\n  })\n\n  describe('删除目标节点', () => {\n    it('删除成功', () => {\n      mmdata.delete('0-1')\n      expect(mmdata.data).toMatchSnapshot()\n    })\n  })\n\n  describe('删除单个目标节点', () => {\n    it('删除成功', () => {\n      mmdata.deleteOne('0-1')\n      expect(mmdata.data).toMatchSnapshot()\n    })\n  })\n\n  describe('修改目标节点内容' , () => {\n    it('修改成功', () => {\n      const name = '新安装'\n      const d = mmdata.rename('0-1', name)\n      expect(d?.name).toBe(name)\n      expect(d).toMatchSnapshot()\n    })\n  })\n\n  describe('移动目标节点到指定的父亲节点下', () => {\n    it('移动成功', () => {\n      const d = mmdata.moveChild('0-3', '0-2')\n      expect(d?.parent?.id).toBe('0-2')\n      expect(d?.id).toBe('0-2-0')\n      expect(d?.children[0].depth).toBe(3)\n      expect(d).toMatchSnapshot()\n    })\n  })\n\n  describe('移动目标节点到指定的兄弟节点之前', () => {\n    it('移动成功', () => {\n      const d = mmdata.moveSibling('0-2-0', '0-2-2')\n      expect(d?.id).toBe('0-2-1')\n      expect(d).toMatchSnapshot()\n    })\n\n    it('兄弟节点不存在时，移动失败', () => {\n      const d = mmdata.moveSibling('0-4-0', '0-4-3')\n      expect(d).toBeNull()\n    })\n\n    it('左边移到右边', () => {\n      const d = mmdata.moveSibling('0-3', '0-1')\n      expect(d?.left).toBeFalsy()\n      expect(d?.id).toBe('0-1')\n      expect(d).toMatchSnapshot()\n    })\n  })\n\n  describe('展开目标节点', () => {\n    it('展开成功', () => {\n      const d = mmdata.expand('0-1')\n      expect(d?.collapse).toBeFalsy()\n      expect(d).toMatchSnapshot()\n    })\n  })\n\n  describe('折叠目标节点', () => {\n    it('折叠成功', () => {\n      const d = mmdata.collapse('0-2-4')\n      expect(d?.collapse).toBeTruthy()\n      expect(d).toMatchSnapshot()\n    })\n  })\n\n  describe('给目标节点添加新兄弟节点', () => {\n    it('添加成功', () => {\n      const d = mmdata.addSibling('0-2-0', '新兄弟节点')\n      expect(d?.id).toBe('0-2-1')\n      expect(d?.name).toBe('新兄弟节点')\n      expect(d).toMatchSnapshot()\n    })\n  })\n\n  describe('给目标节点添加新父节点', () => {\n    it('添加成功', () => {\n      const d = mmdata.addParent('0-0', '新父节点')\n      expect(d?.id).toBe('0-0')\n      expect(d?.name).toBe('新父节点')\n      expect(d?.children[0].depth).toBe(2)\n      expect(d?.color).toBe(d?.children[0].color)\n      expect(d).toMatchSnapshot()\n    })\n  })\n\n  describe('变更目标节点的左右布局', () => {\n    it('变更成功', () => {\n      const d = mmdata.changeLeft('0-0')\n      expect(d?.left).toBe(true)\n    })\n  })\n})\n"
  },
  {
    "path": "src/components/Mindmap/data/__tests__/__snapshots__/ImData.unit.ts.snap",
    "content": "// Jest Snapshot v1, https://goo.gl/fbAQLP\n\nexports[`思维导图数据-单元测试 修改目标节点内容 修改成功 1`] = `\nObject {\n  \"_children\": Array [\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#1f78b4\",\n      \"depth\": 2,\n      \"dx\": 0,\n      \"dy\": 0,\n      \"gKey\": 9,\n      \"height\": 10,\n      \"id\": \"0-1-0\",\n      \"left\": false,\n      \"name\": \"折叠节点\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"name\": \"折叠节点\",\n      },\n      \"width\": 10,\n      \"x\": 0,\n      \"y\": 0,\n    },\n  ],\n  \"children\": Array [],\n  \"collapse\": true,\n  \"color\": \"#1f78b4\",\n  \"depth\": 1,\n  \"dx\": 94,\n  \"dy\": 0,\n  \"gKey\": 8,\n  \"height\": 10,\n  \"id\": \"0-1\",\n  \"left\": false,\n  \"name\": \"新安装\",\n  \"parent\": Object {\n    \"_children\": Array [],\n    \"children\": Array [\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#a6cee3\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": -56,\n            \"gKey\": 3,\n            \"height\": 10,\n            \"id\": \"0-0-0\",\n            \"left\": false,\n            \"name\": \"HTML & CSS\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"HTML & CSS\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 9,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#a6cee3\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": -28,\n            \"gKey\": 4,\n            \"height\": 10,\n            \"id\": \"0-0-1\",\n            \"left\": false,\n            \"name\": \"JavaScript\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"JavaScript\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 37,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#a6cee3\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 0,\n            \"gKey\": 5,\n            \"height\": 10,\n            \"id\": \"0-0-2\",\n            \"left\": false,\n            \"name\": \"DOM\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"DOM\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 65,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#a6cee3\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 28,\n            \"gKey\": 6,\n            \"height\": 10,\n            \"id\": \"0-0-3\",\n            \"left\": false,\n            \"name\": \"SVG\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"SVG\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 93,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#a6cee3\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 56,\n            \"gKey\": 7,\n            \"height\": 10,\n            \"id\": \"0-0-4\",\n            \"left\": false,\n            \"name\": \"test\ntest\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"test\ntest\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 121,\n          },\n        ],\n        \"collapse\": false,\n        \"color\": \"#a6cee3\",\n        \"depth\": 1,\n        \"dx\": 94,\n        \"dy\": -56,\n        \"gKey\": 2,\n        \"height\": 10,\n        \"id\": \"0-0\",\n        \"left\": false,\n        \"name\": \"预备知识\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"HTML & CSS\",\n            },\n            Object {\n              \"name\": \"JavaScript\",\n            },\n            Object {\n              \"name\": \"DOM\",\n            },\n            Object {\n              \"name\": \"SVG\",\n            },\n            Object {\n              \"name\": \"test\ntest\",\n            },\n          ],\n          \"name\": \"预备知识\",\n        },\n        \"width\": 10,\n        \"x\": 94,\n        \"y\": 65,\n      },\n      [Circular],\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": -98,\n            \"gKey\": 11,\n            \"height\": 10,\n            \"id\": \"0-2-0\",\n            \"left\": true,\n            \"name\": \"选择集\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"选择集\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 9,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": -70,\n            \"gKey\": 12,\n            \"height\": 10,\n            \"id\": \"0-2-1\",\n            \"left\": true,\n            \"name\": \"test\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"test\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 37,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": -42,\n            \"gKey\": 13,\n            \"height\": 10,\n            \"id\": \"0-2-2\",\n            \"left\": true,\n            \"name\": \"绑定数据\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"绑定数据\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 65,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": -14,\n            \"gKey\": 14,\n            \"height\": 10,\n            \"id\": \"0-2-3\",\n            \"left\": true,\n            \"name\": \"添加删除元素\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"添加删除元素\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 93,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [\n              Object {\n                \"_children\": Array [],\n                \"children\": Array [],\n                \"collapse\": false,\n                \"color\": \"#b2df8a\",\n                \"depth\": 3,\n                \"dx\": -94,\n                \"dy\": -28,\n                \"gKey\": 16,\n                \"height\": 10,\n                \"id\": \"0-2-4-0\",\n                \"left\": true,\n                \"name\": \"柱形图\",\n                \"parent\": [Circular],\n                \"px\": 0,\n                \"py\": 0,\n                \"rawData\": Object {\n                  \"name\": \"柱形图\",\n                },\n                \"width\": 10,\n                \"x\": -272,\n                \"y\": 93,\n              },\n              Object {\n                \"_children\": Array [],\n                \"children\": Array [],\n                \"collapse\": false,\n                \"color\": \"#b2df8a\",\n                \"depth\": 3,\n                \"dx\": -94,\n                \"dy\": 0,\n                \"gKey\": 17,\n                \"height\": 10,\n                \"id\": \"0-2-4-1\",\n                \"left\": true,\n                \"name\": \"折线图\",\n                \"parent\": [Circular],\n                \"px\": 0,\n                \"py\": 0,\n                \"rawData\": Object {\n                  \"name\": \"折线图\",\n                },\n                \"width\": 10,\n                \"x\": -272,\n                \"y\": 121,\n              },\n              Object {\n                \"_children\": Array [],\n                \"children\": Array [],\n                \"collapse\": false,\n                \"color\": \"#b2df8a\",\n                \"depth\": 3,\n                \"dx\": -94,\n                \"dy\": 28,\n                \"gKey\": 18,\n                \"height\": 10,\n                \"id\": \"0-2-4-2\",\n                \"left\": true,\n                \"name\": \"散点图\",\n                \"parent\": [Circular],\n                \"px\": 0,\n                \"py\": 0,\n                \"rawData\": Object {\n                  \"name\": \"散点图\",\n                },\n                \"width\": 10,\n                \"x\": -272,\n                \"y\": 149,\n              },\n            ],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": 14,\n            \"gKey\": 15,\n            \"height\": 10,\n            \"id\": \"0-2-4\",\n            \"left\": true,\n            \"name\": \"简单图形\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"children\": Array [\n                Object {\n                  \"name\": \"柱形图\",\n                },\n                Object {\n                  \"name\": \"折线图\",\n                },\n                Object {\n                  \"name\": \"散点图\",\n                },\n              ],\n              \"name\": \"简单图形\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 121,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": 42,\n            \"gKey\": 19,\n            \"height\": 10,\n            \"id\": \"0-2-5\",\n            \"left\": true,\n            \"name\": \"比例尺\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"比例尺\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 149,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": 70,\n            \"gKey\": 20,\n            \"height\": 10,\n            \"id\": \"0-2-6\",\n            \"left\": true,\n            \"name\": \"生成器\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"生成器\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 177,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": 98,\n            \"gKey\": 21,\n            \"height\": 10,\n            \"id\": \"0-2-7\",\n            \"left\": true,\n            \"name\": \"过渡\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"过渡\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 205,\n          },\n        ],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 1,\n        \"dx\": -84,\n        \"dy\": -14,\n        \"gKey\": 10,\n        \"height\": 10,\n        \"id\": \"0-2\",\n        \"left\": true,\n        \"name\": \"入门\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"选择集\",\n            },\n            Object {\n              \"name\": \"test\",\n            },\n            Object {\n              \"name\": \"绑定数据\",\n            },\n            Object {\n              \"name\": \"添加删除元素\",\n            },\n            Object {\n              \"children\": Array [\n                Object {\n                  \"name\": \"柱形图\",\n                },\n                Object {\n                  \"name\": \"折线图\",\n                },\n                Object {\n                  \"name\": \"散点图\",\n                },\n              ],\n              \"name\": \"简单图形\",\n            },\n            Object {\n              \"name\": \"比例尺\",\n            },\n            Object {\n              \"name\": \"生成器\",\n            },\n            Object {\n              \"name\": \"过渡\",\n            },\n          ],\n          \"left\": true,\n          \"name\": \"入门\",\n        },\n        \"width\": 10,\n        \"x\": -84,\n        \"y\": 107,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#33a02c\",\n        \"depth\": 1,\n        \"dx\": -84,\n        \"dy\": 14,\n        \"gKey\": 22,\n        \"height\": 10,\n        \"id\": \"0-3\",\n        \"left\": true,\n        \"name\": \"进阶\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"left\": true,\n          \"name\": \"进阶\",\n        },\n        \"width\": 10,\n        \"x\": -84,\n        \"y\": 135,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#fb9a99\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": -28,\n            \"gKey\": 24,\n            \"height\": 10,\n            \"id\": \"0-4-0\",\n            \"left\": false,\n            \"name\": \"子节点1\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"子节点1\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 149,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#fb9a99\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 0,\n            \"gKey\": 25,\n            \"height\": 10,\n            \"id\": \"0-4-1\",\n            \"left\": false,\n            \"name\": \"子节点2\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"子节点2\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 177,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#fb9a99\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 28,\n            \"gKey\": 26,\n            \"height\": 10,\n            \"id\": \"0-4-2\",\n            \"left\": false,\n            \"name\": \"子节点3\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"子节点3\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 205,\n          },\n        ],\n        \"collapse\": false,\n        \"color\": \"#fb9a99\",\n        \"depth\": 1,\n        \"dx\": 94,\n        \"dy\": 56,\n        \"gKey\": 23,\n        \"height\": 10,\n        \"id\": \"0-4\",\n        \"left\": false,\n        \"name\": \"一级节点\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"子节点1\",\n            },\n            Object {\n              \"name\": \"子节点2\",\n            },\n            Object {\n              \"name\": \"子节点3\",\n            },\n          ],\n          \"name\": \"一级节点\",\n        },\n        \"width\": 10,\n        \"x\": 94,\n        \"y\": 177,\n      },\n    ],\n    \"collapse\": false,\n    \"color\": \"\",\n    \"depth\": 0,\n    \"dx\": 0,\n    \"dy\": 0,\n    \"gKey\": 1,\n    \"height\": 10,\n    \"id\": \"0\",\n    \"left\": false,\n    \"name\": \"如何学习D3\",\n    \"parent\": null,\n    \"px\": 0,\n    \"py\": 0,\n    \"rawData\": Object {\n      \"children\": Array [\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"HTML & CSS\",\n            },\n            Object {\n              \"name\": \"JavaScript\",\n            },\n            Object {\n              \"name\": \"DOM\",\n            },\n            Object {\n              \"name\": \"SVG\",\n            },\n            Object {\n              \"name\": \"test\ntest\",\n            },\n          ],\n          \"name\": \"预备知识\",\n        },\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"折叠节点\",\n            },\n          ],\n          \"collapse\": true,\n          \"name\": \"新安装\",\n        },\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"选择集\",\n            },\n            Object {\n              \"name\": \"test\",\n            },\n            Object {\n              \"name\": \"绑定数据\",\n            },\n            Object {\n              \"name\": \"添加删除元素\",\n            },\n            Object {\n              \"children\": Array [\n                Object {\n                  \"name\": \"柱形图\",\n                },\n                Object {\n                  \"name\": \"折线图\",\n                },\n                Object {\n                  \"name\": \"散点图\",\n                },\n              ],\n              \"name\": \"简单图形\",\n            },\n            Object {\n              \"name\": \"比例尺\",\n            },\n            Object {\n              \"name\": \"生成器\",\n            },\n            Object {\n              \"name\": \"过渡\",\n            },\n          ],\n          \"left\": true,\n          \"name\": \"入门\",\n        },\n        Object {\n          \"left\": true,\n          \"name\": \"进阶\",\n        },\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"子节点1\",\n            },\n            Object {\n              \"name\": \"子节点2\",\n            },\n            Object {\n              \"name\": \"子节点3\",\n            },\n          ],\n          \"name\": \"一级节点\",\n        },\n      ],\n      \"name\": \"如何学习D3\",\n    },\n    \"width\": 10,\n    \"x\": 0,\n    \"y\": 121,\n  },\n  \"px\": 0,\n  \"py\": 0,\n  \"rawData\": Object {\n    \"children\": Array [\n      Object {\n        \"name\": \"折叠节点\",\n      },\n    ],\n    \"collapse\": true,\n    \"name\": \"新安装\",\n  },\n  \"width\": 10,\n  \"x\": 94,\n  \"y\": 121,\n}\n`;\n\nexports[`思维导图数据-单元测试 删除单个目标节点 删除成功 1`] = `\nObject {\n  \"_children\": Array [],\n  \"children\": Array [\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": -56,\n          \"gKey\": 3,\n          \"height\": 10,\n          \"id\": \"0-0-0\",\n          \"left\": false,\n          \"name\": \"HTML & CSS\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"HTML & CSS\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 9,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": -28,\n          \"gKey\": 4,\n          \"height\": 10,\n          \"id\": \"0-0-1\",\n          \"left\": false,\n          \"name\": \"JavaScript\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"JavaScript\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 37,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": 0,\n          \"gKey\": 5,\n          \"height\": 10,\n          \"id\": \"0-0-2\",\n          \"left\": false,\n          \"name\": \"DOM\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"DOM\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 65,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": 28,\n          \"gKey\": 6,\n          \"height\": 10,\n          \"id\": \"0-0-3\",\n          \"left\": false,\n          \"name\": \"SVG\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"SVG\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 93,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": 56,\n          \"gKey\": 7,\n          \"height\": 10,\n          \"id\": \"0-0-4\",\n          \"left\": false,\n          \"name\": \"test\ntest\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"test\ntest\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 121,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"#a6cee3\",\n      \"depth\": 1,\n      \"dx\": 94,\n      \"dy\": -56,\n      \"gKey\": 2,\n      \"height\": 10,\n      \"id\": \"0-0\",\n      \"left\": false,\n      \"name\": \"预备知识\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"HTML & CSS\",\n          },\n          Object {\n            \"name\": \"JavaScript\",\n          },\n          Object {\n            \"name\": \"DOM\",\n          },\n          Object {\n            \"name\": \"SVG\",\n          },\n          Object {\n            \"name\": \"test\ntest\",\n          },\n        ],\n        \"name\": \"预备知识\",\n      },\n      \"width\": 10,\n      \"x\": 94,\n      \"y\": 65,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#1f78b4\",\n      \"depth\": 2,\n      \"dx\": 94,\n      \"dy\": 0,\n      \"gKey\": 9,\n      \"height\": 10,\n      \"id\": \"0-1\",\n      \"left\": false,\n      \"name\": \"折叠节点\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"name\": \"折叠节点\",\n      },\n      \"width\": 10,\n      \"x\": 94,\n      \"y\": 121,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": -98,\n          \"gKey\": 11,\n          \"height\": 10,\n          \"id\": \"0-2-0\",\n          \"left\": true,\n          \"name\": \"选择集\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"选择集\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 9,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": -70,\n          \"gKey\": 12,\n          \"height\": 10,\n          \"id\": \"0-2-1\",\n          \"left\": true,\n          \"name\": \"test\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"test\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 37,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": -42,\n          \"gKey\": 13,\n          \"height\": 10,\n          \"id\": \"0-2-2\",\n          \"left\": true,\n          \"name\": \"绑定数据\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"绑定数据\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 65,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": -14,\n          \"gKey\": 14,\n          \"height\": 10,\n          \"id\": \"0-2-3\",\n          \"left\": true,\n          \"name\": \"添加删除元素\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"添加删除元素\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 93,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 3,\n              \"dx\": -94,\n              \"dy\": -28,\n              \"gKey\": 16,\n              \"height\": 10,\n              \"id\": \"0-2-4-0\",\n              \"left\": true,\n              \"name\": \"柱形图\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"柱形图\",\n              },\n              \"width\": 10,\n              \"x\": -272,\n              \"y\": 93,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 3,\n              \"dx\": -94,\n              \"dy\": 0,\n              \"gKey\": 17,\n              \"height\": 10,\n              \"id\": \"0-2-4-1\",\n              \"left\": true,\n              \"name\": \"折线图\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"折线图\",\n              },\n              \"width\": 10,\n              \"x\": -272,\n              \"y\": 121,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 3,\n              \"dx\": -94,\n              \"dy\": 28,\n              \"gKey\": 18,\n              \"height\": 10,\n              \"id\": \"0-2-4-2\",\n              \"left\": true,\n              \"name\": \"散点图\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"散点图\",\n              },\n              \"width\": 10,\n              \"x\": -272,\n              \"y\": 149,\n            },\n          ],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": 14,\n          \"gKey\": 15,\n          \"height\": 10,\n          \"id\": \"0-2-4\",\n          \"left\": true,\n          \"name\": \"简单图形\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"柱形图\",\n              },\n              Object {\n                \"name\": \"折线图\",\n              },\n              Object {\n                \"name\": \"散点图\",\n              },\n            ],\n            \"name\": \"简单图形\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 121,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": 42,\n          \"gKey\": 19,\n          \"height\": 10,\n          \"id\": \"0-2-5\",\n          \"left\": true,\n          \"name\": \"比例尺\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"比例尺\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 149,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": 70,\n          \"gKey\": 20,\n          \"height\": 10,\n          \"id\": \"0-2-6\",\n          \"left\": true,\n          \"name\": \"生成器\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"生成器\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 177,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": 98,\n          \"gKey\": 21,\n          \"height\": 10,\n          \"id\": \"0-2-7\",\n          \"left\": true,\n          \"name\": \"过渡\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"过渡\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 205,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"#b2df8a\",\n      \"depth\": 1,\n      \"dx\": -84,\n      \"dy\": -14,\n      \"gKey\": 10,\n      \"height\": 10,\n      \"id\": \"0-2\",\n      \"left\": true,\n      \"name\": \"入门\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"选择集\",\n          },\n          Object {\n            \"name\": \"test\",\n          },\n          Object {\n            \"name\": \"绑定数据\",\n          },\n          Object {\n            \"name\": \"添加删除元素\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"柱形图\",\n              },\n              Object {\n                \"name\": \"折线图\",\n              },\n              Object {\n                \"name\": \"散点图\",\n              },\n            ],\n            \"name\": \"简单图形\",\n          },\n          Object {\n            \"name\": \"比例尺\",\n          },\n          Object {\n            \"name\": \"生成器\",\n          },\n          Object {\n            \"name\": \"过渡\",\n          },\n        ],\n        \"left\": true,\n        \"name\": \"入门\",\n      },\n      \"width\": 10,\n      \"x\": -84,\n      \"y\": 107,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#33a02c\",\n      \"depth\": 1,\n      \"dx\": -84,\n      \"dy\": 14,\n      \"gKey\": 22,\n      \"height\": 10,\n      \"id\": \"0-3\",\n      \"left\": true,\n      \"name\": \"进阶\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"left\": true,\n        \"name\": \"进阶\",\n      },\n      \"width\": 10,\n      \"x\": -84,\n      \"y\": 135,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#fb9a99\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": -28,\n          \"gKey\": 24,\n          \"height\": 10,\n          \"id\": \"0-4-0\",\n          \"left\": false,\n          \"name\": \"子节点1\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"子节点1\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 149,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#fb9a99\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": 0,\n          \"gKey\": 25,\n          \"height\": 10,\n          \"id\": \"0-4-1\",\n          \"left\": false,\n          \"name\": \"子节点2\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"子节点2\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 177,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#fb9a99\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": 28,\n          \"gKey\": 26,\n          \"height\": 10,\n          \"id\": \"0-4-2\",\n          \"left\": false,\n          \"name\": \"子节点3\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"子节点3\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 205,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"#fb9a99\",\n      \"depth\": 1,\n      \"dx\": 94,\n      \"dy\": 56,\n      \"gKey\": 23,\n      \"height\": 10,\n      \"id\": \"0-4\",\n      \"left\": false,\n      \"name\": \"一级节点\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"子节点1\",\n          },\n          Object {\n            \"name\": \"子节点2\",\n          },\n          Object {\n            \"name\": \"子节点3\",\n          },\n        ],\n        \"name\": \"一级节点\",\n      },\n      \"width\": 10,\n      \"x\": 94,\n      \"y\": 177,\n    },\n  ],\n  \"collapse\": false,\n  \"color\": \"\",\n  \"depth\": 0,\n  \"dx\": 0,\n  \"dy\": 0,\n  \"gKey\": 1,\n  \"height\": 10,\n  \"id\": \"0\",\n  \"left\": false,\n  \"name\": \"如何学习D3\",\n  \"parent\": null,\n  \"px\": 0,\n  \"py\": 0,\n  \"rawData\": Object {\n    \"children\": Array [\n      Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"HTML & CSS\",\n          },\n          Object {\n            \"name\": \"JavaScript\",\n          },\n          Object {\n            \"name\": \"DOM\",\n          },\n          Object {\n            \"name\": \"SVG\",\n          },\n          Object {\n            \"name\": \"test\ntest\",\n          },\n        ],\n        \"name\": \"预备知识\",\n      },\n      Object {\n        \"name\": \"折叠节点\",\n      },\n      Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"选择集\",\n          },\n          Object {\n            \"name\": \"test\",\n          },\n          Object {\n            \"name\": \"绑定数据\",\n          },\n          Object {\n            \"name\": \"添加删除元素\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"柱形图\",\n              },\n              Object {\n                \"name\": \"折线图\",\n              },\n              Object {\n                \"name\": \"散点图\",\n              },\n            ],\n            \"name\": \"简单图形\",\n          },\n          Object {\n            \"name\": \"比例尺\",\n          },\n          Object {\n            \"name\": \"生成器\",\n          },\n          Object {\n            \"name\": \"过渡\",\n          },\n        ],\n        \"left\": true,\n        \"name\": \"入门\",\n      },\n      Object {\n        \"left\": true,\n        \"name\": \"进阶\",\n      },\n      Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"子节点1\",\n          },\n          Object {\n            \"name\": \"子节点2\",\n          },\n          Object {\n            \"name\": \"子节点3\",\n          },\n        ],\n        \"name\": \"一级节点\",\n      },\n    ],\n    \"name\": \"如何学习D3\",\n  },\n  \"width\": 10,\n  \"x\": 0,\n  \"y\": 121,\n}\n`;\n\nexports[`思维导图数据-单元测试 删除目标节点 删除成功 1`] = `\nObject {\n  \"_children\": Array [],\n  \"children\": Array [\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": -56,\n          \"gKey\": 3,\n          \"height\": 10,\n          \"id\": \"0-0-0\",\n          \"left\": false,\n          \"name\": \"HTML & CSS\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"HTML & CSS\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 9,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": -28,\n          \"gKey\": 4,\n          \"height\": 10,\n          \"id\": \"0-0-1\",\n          \"left\": false,\n          \"name\": \"JavaScript\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"JavaScript\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 37,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": 0,\n          \"gKey\": 5,\n          \"height\": 10,\n          \"id\": \"0-0-2\",\n          \"left\": false,\n          \"name\": \"DOM\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"DOM\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 65,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": 28,\n          \"gKey\": 6,\n          \"height\": 10,\n          \"id\": \"0-0-3\",\n          \"left\": false,\n          \"name\": \"SVG\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"SVG\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 93,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": 56,\n          \"gKey\": 7,\n          \"height\": 10,\n          \"id\": \"0-0-4\",\n          \"left\": false,\n          \"name\": \"test\ntest\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"test\ntest\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 121,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"#a6cee3\",\n      \"depth\": 1,\n      \"dx\": 94,\n      \"dy\": -56,\n      \"gKey\": 2,\n      \"height\": 10,\n      \"id\": \"0-0\",\n      \"left\": false,\n      \"name\": \"预备知识\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"HTML & CSS\",\n          },\n          Object {\n            \"name\": \"JavaScript\",\n          },\n          Object {\n            \"name\": \"DOM\",\n          },\n          Object {\n            \"name\": \"SVG\",\n          },\n          Object {\n            \"name\": \"test\ntest\",\n          },\n        ],\n        \"name\": \"预备知识\",\n      },\n      \"width\": 10,\n      \"x\": 94,\n      \"y\": 65,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": -98,\n          \"gKey\": 11,\n          \"height\": 10,\n          \"id\": \"0-1-0\",\n          \"left\": true,\n          \"name\": \"选择集\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"选择集\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 9,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": -70,\n          \"gKey\": 12,\n          \"height\": 10,\n          \"id\": \"0-1-1\",\n          \"left\": true,\n          \"name\": \"test\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"test\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 37,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": -42,\n          \"gKey\": 13,\n          \"height\": 10,\n          \"id\": \"0-1-2\",\n          \"left\": true,\n          \"name\": \"绑定数据\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"绑定数据\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 65,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": -14,\n          \"gKey\": 14,\n          \"height\": 10,\n          \"id\": \"0-1-3\",\n          \"left\": true,\n          \"name\": \"添加删除元素\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"添加删除元素\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 93,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 3,\n              \"dx\": -94,\n              \"dy\": -28,\n              \"gKey\": 16,\n              \"height\": 10,\n              \"id\": \"0-1-4-0\",\n              \"left\": true,\n              \"name\": \"柱形图\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"柱形图\",\n              },\n              \"width\": 10,\n              \"x\": -272,\n              \"y\": 93,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 3,\n              \"dx\": -94,\n              \"dy\": 0,\n              \"gKey\": 17,\n              \"height\": 10,\n              \"id\": \"0-1-4-1\",\n              \"left\": true,\n              \"name\": \"折线图\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"折线图\",\n              },\n              \"width\": 10,\n              \"x\": -272,\n              \"y\": 121,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 3,\n              \"dx\": -94,\n              \"dy\": 28,\n              \"gKey\": 18,\n              \"height\": 10,\n              \"id\": \"0-1-4-2\",\n              \"left\": true,\n              \"name\": \"散点图\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"散点图\",\n              },\n              \"width\": 10,\n              \"x\": -272,\n              \"y\": 149,\n            },\n          ],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": 14,\n          \"gKey\": 15,\n          \"height\": 10,\n          \"id\": \"0-1-4\",\n          \"left\": true,\n          \"name\": \"简单图形\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"柱形图\",\n              },\n              Object {\n                \"name\": \"折线图\",\n              },\n              Object {\n                \"name\": \"散点图\",\n              },\n            ],\n            \"name\": \"简单图形\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 121,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": 42,\n          \"gKey\": 19,\n          \"height\": 10,\n          \"id\": \"0-1-5\",\n          \"left\": true,\n          \"name\": \"比例尺\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"比例尺\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 149,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": 70,\n          \"gKey\": 20,\n          \"height\": 10,\n          \"id\": \"0-1-6\",\n          \"left\": true,\n          \"name\": \"生成器\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"生成器\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 177,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": 98,\n          \"gKey\": 21,\n          \"height\": 10,\n          \"id\": \"0-1-7\",\n          \"left\": true,\n          \"name\": \"过渡\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"过渡\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 205,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"#b2df8a\",\n      \"depth\": 1,\n      \"dx\": -84,\n      \"dy\": -14,\n      \"gKey\": 10,\n      \"height\": 10,\n      \"id\": \"0-1\",\n      \"left\": true,\n      \"name\": \"入门\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"选择集\",\n          },\n          Object {\n            \"name\": \"test\",\n          },\n          Object {\n            \"name\": \"绑定数据\",\n          },\n          Object {\n            \"name\": \"添加删除元素\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"柱形图\",\n              },\n              Object {\n                \"name\": \"折线图\",\n              },\n              Object {\n                \"name\": \"散点图\",\n              },\n            ],\n            \"name\": \"简单图形\",\n          },\n          Object {\n            \"name\": \"比例尺\",\n          },\n          Object {\n            \"name\": \"生成器\",\n          },\n          Object {\n            \"name\": \"过渡\",\n          },\n        ],\n        \"left\": true,\n        \"name\": \"入门\",\n      },\n      \"width\": 10,\n      \"x\": -84,\n      \"y\": 107,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#33a02c\",\n      \"depth\": 1,\n      \"dx\": -84,\n      \"dy\": 14,\n      \"gKey\": 22,\n      \"height\": 10,\n      \"id\": \"0-2\",\n      \"left\": true,\n      \"name\": \"进阶\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"left\": true,\n        \"name\": \"进阶\",\n      },\n      \"width\": 10,\n      \"x\": -84,\n      \"y\": 135,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#fb9a99\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": -28,\n          \"gKey\": 24,\n          \"height\": 10,\n          \"id\": \"0-3-0\",\n          \"left\": false,\n          \"name\": \"子节点1\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"子节点1\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 149,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#fb9a99\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": 0,\n          \"gKey\": 25,\n          \"height\": 10,\n          \"id\": \"0-3-1\",\n          \"left\": false,\n          \"name\": \"子节点2\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"子节点2\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 177,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#fb9a99\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": 28,\n          \"gKey\": 26,\n          \"height\": 10,\n          \"id\": \"0-3-2\",\n          \"left\": false,\n          \"name\": \"子节点3\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"子节点3\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 205,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"#fb9a99\",\n      \"depth\": 1,\n      \"dx\": 94,\n      \"dy\": 56,\n      \"gKey\": 23,\n      \"height\": 10,\n      \"id\": \"0-3\",\n      \"left\": false,\n      \"name\": \"一级节点\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"子节点1\",\n          },\n          Object {\n            \"name\": \"子节点2\",\n          },\n          Object {\n            \"name\": \"子节点3\",\n          },\n        ],\n        \"name\": \"一级节点\",\n      },\n      \"width\": 10,\n      \"x\": 94,\n      \"y\": 177,\n    },\n  ],\n  \"collapse\": false,\n  \"color\": \"\",\n  \"depth\": 0,\n  \"dx\": 0,\n  \"dy\": 0,\n  \"gKey\": 1,\n  \"height\": 10,\n  \"id\": \"0\",\n  \"left\": false,\n  \"name\": \"如何学习D3\",\n  \"parent\": null,\n  \"px\": 0,\n  \"py\": 0,\n  \"rawData\": Object {\n    \"children\": Array [\n      Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"HTML & CSS\",\n          },\n          Object {\n            \"name\": \"JavaScript\",\n          },\n          Object {\n            \"name\": \"DOM\",\n          },\n          Object {\n            \"name\": \"SVG\",\n          },\n          Object {\n            \"name\": \"test\ntest\",\n          },\n        ],\n        \"name\": \"预备知识\",\n      },\n      Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"选择集\",\n          },\n          Object {\n            \"name\": \"test\",\n          },\n          Object {\n            \"name\": \"绑定数据\",\n          },\n          Object {\n            \"name\": \"添加删除元素\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"柱形图\",\n              },\n              Object {\n                \"name\": \"折线图\",\n              },\n              Object {\n                \"name\": \"散点图\",\n              },\n            ],\n            \"name\": \"简单图形\",\n          },\n          Object {\n            \"name\": \"比例尺\",\n          },\n          Object {\n            \"name\": \"生成器\",\n          },\n          Object {\n            \"name\": \"过渡\",\n          },\n        ],\n        \"left\": true,\n        \"name\": \"入门\",\n      },\n      Object {\n        \"left\": true,\n        \"name\": \"进阶\",\n      },\n      Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"子节点1\",\n          },\n          Object {\n            \"name\": \"子节点2\",\n          },\n          Object {\n            \"name\": \"子节点3\",\n          },\n        ],\n        \"name\": \"一级节点\",\n      },\n    ],\n    \"name\": \"如何学习D3\",\n  },\n  \"width\": 10,\n  \"x\": 0,\n  \"y\": 121,\n}\n`;\n\nexports[`思维导图数据-单元测试 展开目标节点 展开成功 1`] = `\nObject {\n  \"_children\": Array [],\n  \"children\": Array [\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#1f78b4\",\n      \"depth\": 2,\n      \"dx\": 94,\n      \"dy\": 0,\n      \"gKey\": 9,\n      \"height\": 10,\n      \"id\": \"0-1-0\",\n      \"left\": false,\n      \"name\": \"折叠节点\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"name\": \"折叠节点\",\n      },\n      \"width\": 10,\n      \"x\": 188,\n      \"y\": 149,\n    },\n  ],\n  \"collapse\": false,\n  \"color\": \"#1f78b4\",\n  \"depth\": 1,\n  \"dx\": 94,\n  \"dy\": 14,\n  \"gKey\": 8,\n  \"height\": 10,\n  \"id\": \"0-1\",\n  \"left\": false,\n  \"name\": \"安装\",\n  \"parent\": Object {\n    \"_children\": Array [],\n    \"children\": Array [\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#a6cee3\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": -56,\n            \"gKey\": 3,\n            \"height\": 10,\n            \"id\": \"0-0-0\",\n            \"left\": false,\n            \"name\": \"HTML & CSS\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"HTML & CSS\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 9,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#a6cee3\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": -28,\n            \"gKey\": 4,\n            \"height\": 10,\n            \"id\": \"0-0-1\",\n            \"left\": false,\n            \"name\": \"JavaScript\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"JavaScript\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 37,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#a6cee3\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 0,\n            \"gKey\": 5,\n            \"height\": 10,\n            \"id\": \"0-0-2\",\n            \"left\": false,\n            \"name\": \"DOM\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"DOM\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 65,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#a6cee3\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 28,\n            \"gKey\": 6,\n            \"height\": 10,\n            \"id\": \"0-0-3\",\n            \"left\": false,\n            \"name\": \"SVG\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"SVG\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 93,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#a6cee3\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 56,\n            \"gKey\": 7,\n            \"height\": 10,\n            \"id\": \"0-0-4\",\n            \"left\": false,\n            \"name\": \"test\ntest\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"test\ntest\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 121,\n          },\n        ],\n        \"collapse\": false,\n        \"color\": \"#a6cee3\",\n        \"depth\": 1,\n        \"dx\": 94,\n        \"dy\": -70,\n        \"gKey\": 2,\n        \"height\": 10,\n        \"id\": \"0-0\",\n        \"left\": false,\n        \"name\": \"预备知识\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"HTML & CSS\",\n            },\n            Object {\n              \"name\": \"JavaScript\",\n            },\n            Object {\n              \"name\": \"DOM\",\n            },\n            Object {\n              \"name\": \"SVG\",\n            },\n            Object {\n              \"name\": \"test\ntest\",\n            },\n          ],\n          \"name\": \"预备知识\",\n        },\n        \"width\": 10,\n        \"x\": 94,\n        \"y\": 65,\n      },\n      [Circular],\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": -98,\n            \"gKey\": 11,\n            \"height\": 10,\n            \"id\": \"0-2-0\",\n            \"left\": true,\n            \"name\": \"选择集\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"选择集\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 23,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": -70,\n            \"gKey\": 12,\n            \"height\": 10,\n            \"id\": \"0-2-1\",\n            \"left\": true,\n            \"name\": \"test\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"test\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 51,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": -42,\n            \"gKey\": 13,\n            \"height\": 10,\n            \"id\": \"0-2-2\",\n            \"left\": true,\n            \"name\": \"绑定数据\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"绑定数据\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 79,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": -14,\n            \"gKey\": 14,\n            \"height\": 10,\n            \"id\": \"0-2-3\",\n            \"left\": true,\n            \"name\": \"添加删除元素\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"添加删除元素\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 107,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [\n              Object {\n                \"_children\": Array [],\n                \"children\": Array [],\n                \"collapse\": false,\n                \"color\": \"#b2df8a\",\n                \"depth\": 3,\n                \"dx\": -94,\n                \"dy\": -28,\n                \"gKey\": 16,\n                \"height\": 10,\n                \"id\": \"0-2-4-0\",\n                \"left\": true,\n                \"name\": \"柱形图\",\n                \"parent\": [Circular],\n                \"px\": 0,\n                \"py\": 0,\n                \"rawData\": Object {\n                  \"name\": \"柱形图\",\n                },\n                \"width\": 10,\n                \"x\": -272,\n                \"y\": 107,\n              },\n              Object {\n                \"_children\": Array [],\n                \"children\": Array [],\n                \"collapse\": false,\n                \"color\": \"#b2df8a\",\n                \"depth\": 3,\n                \"dx\": -94,\n                \"dy\": 0,\n                \"gKey\": 17,\n                \"height\": 10,\n                \"id\": \"0-2-4-1\",\n                \"left\": true,\n                \"name\": \"折线图\",\n                \"parent\": [Circular],\n                \"px\": 0,\n                \"py\": 0,\n                \"rawData\": Object {\n                  \"name\": \"折线图\",\n                },\n                \"width\": 10,\n                \"x\": -272,\n                \"y\": 135,\n              },\n              Object {\n                \"_children\": Array [],\n                \"children\": Array [],\n                \"collapse\": false,\n                \"color\": \"#b2df8a\",\n                \"depth\": 3,\n                \"dx\": -94,\n                \"dy\": 28,\n                \"gKey\": 18,\n                \"height\": 10,\n                \"id\": \"0-2-4-2\",\n                \"left\": true,\n                \"name\": \"散点图\",\n                \"parent\": [Circular],\n                \"px\": 0,\n                \"py\": 0,\n                \"rawData\": Object {\n                  \"name\": \"散点图\",\n                },\n                \"width\": 10,\n                \"x\": -272,\n                \"y\": 163,\n              },\n            ],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": 14,\n            \"gKey\": 15,\n            \"height\": 10,\n            \"id\": \"0-2-4\",\n            \"left\": true,\n            \"name\": \"简单图形\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"children\": Array [\n                Object {\n                  \"name\": \"柱形图\",\n                },\n                Object {\n                  \"name\": \"折线图\",\n                },\n                Object {\n                  \"name\": \"散点图\",\n                },\n              ],\n              \"name\": \"简单图形\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 135,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": 42,\n            \"gKey\": 19,\n            \"height\": 10,\n            \"id\": \"0-2-5\",\n            \"left\": true,\n            \"name\": \"比例尺\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"比例尺\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 163,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": 70,\n            \"gKey\": 20,\n            \"height\": 10,\n            \"id\": \"0-2-6\",\n            \"left\": true,\n            \"name\": \"生成器\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"生成器\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 191,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": 98,\n            \"gKey\": 21,\n            \"height\": 10,\n            \"id\": \"0-2-7\",\n            \"left\": true,\n            \"name\": \"过渡\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"过渡\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 219,\n          },\n        ],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 1,\n        \"dx\": -84,\n        \"dy\": -14,\n        \"gKey\": 10,\n        \"height\": 10,\n        \"id\": \"0-2\",\n        \"left\": true,\n        \"name\": \"入门\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"选择集\",\n            },\n            Object {\n              \"name\": \"test\",\n            },\n            Object {\n              \"name\": \"绑定数据\",\n            },\n            Object {\n              \"name\": \"添加删除元素\",\n            },\n            Object {\n              \"children\": Array [\n                Object {\n                  \"name\": \"柱形图\",\n                },\n                Object {\n                  \"name\": \"折线图\",\n                },\n                Object {\n                  \"name\": \"散点图\",\n                },\n              ],\n              \"name\": \"简单图形\",\n            },\n            Object {\n              \"name\": \"比例尺\",\n            },\n            Object {\n              \"name\": \"生成器\",\n            },\n            Object {\n              \"name\": \"过渡\",\n            },\n          ],\n          \"left\": true,\n          \"name\": \"入门\",\n        },\n        \"width\": 10,\n        \"x\": -84,\n        \"y\": 121,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#33a02c\",\n        \"depth\": 1,\n        \"dx\": -84,\n        \"dy\": 14,\n        \"gKey\": 22,\n        \"height\": 10,\n        \"id\": \"0-3\",\n        \"left\": true,\n        \"name\": \"进阶\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"left\": true,\n          \"name\": \"进阶\",\n        },\n        \"width\": 10,\n        \"x\": -84,\n        \"y\": 149,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#fb9a99\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": -28,\n            \"gKey\": 24,\n            \"height\": 10,\n            \"id\": \"0-4-0\",\n            \"left\": false,\n            \"name\": \"子节点1\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"子节点1\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 177,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#fb9a99\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 0,\n            \"gKey\": 25,\n            \"height\": 10,\n            \"id\": \"0-4-1\",\n            \"left\": false,\n            \"name\": \"子节点2\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"子节点2\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 205,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#fb9a99\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 28,\n            \"gKey\": 26,\n            \"height\": 10,\n            \"id\": \"0-4-2\",\n            \"left\": false,\n            \"name\": \"子节点3\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"子节点3\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 233,\n          },\n        ],\n        \"collapse\": false,\n        \"color\": \"#fb9a99\",\n        \"depth\": 1,\n        \"dx\": 94,\n        \"dy\": 70,\n        \"gKey\": 23,\n        \"height\": 10,\n        \"id\": \"0-4\",\n        \"left\": false,\n        \"name\": \"一级节点\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"子节点1\",\n            },\n            Object {\n              \"name\": \"子节点2\",\n            },\n            Object {\n              \"name\": \"子节点3\",\n            },\n          ],\n          \"name\": \"一级节点\",\n        },\n        \"width\": 10,\n        \"x\": 94,\n        \"y\": 205,\n      },\n    ],\n    \"collapse\": false,\n    \"color\": \"\",\n    \"depth\": 0,\n    \"dx\": 0,\n    \"dy\": 0,\n    \"gKey\": 1,\n    \"height\": 10,\n    \"id\": \"0\",\n    \"left\": false,\n    \"name\": \"如何学习D3\",\n    \"parent\": null,\n    \"px\": 0,\n    \"py\": 0,\n    \"rawData\": Object {\n      \"children\": Array [\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"HTML & CSS\",\n            },\n            Object {\n              \"name\": \"JavaScript\",\n            },\n            Object {\n              \"name\": \"DOM\",\n            },\n            Object {\n              \"name\": \"SVG\",\n            },\n            Object {\n              \"name\": \"test\ntest\",\n            },\n          ],\n          \"name\": \"预备知识\",\n        },\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"折叠节点\",\n            },\n          ],\n          \"collapse\": false,\n          \"name\": \"安装\",\n        },\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"选择集\",\n            },\n            Object {\n              \"name\": \"test\",\n            },\n            Object {\n              \"name\": \"绑定数据\",\n            },\n            Object {\n              \"name\": \"添加删除元素\",\n            },\n            Object {\n              \"children\": Array [\n                Object {\n                  \"name\": \"柱形图\",\n                },\n                Object {\n                  \"name\": \"折线图\",\n                },\n                Object {\n                  \"name\": \"散点图\",\n                },\n              ],\n              \"name\": \"简单图形\",\n            },\n            Object {\n              \"name\": \"比例尺\",\n            },\n            Object {\n              \"name\": \"生成器\",\n            },\n            Object {\n              \"name\": \"过渡\",\n            },\n          ],\n          \"left\": true,\n          \"name\": \"入门\",\n        },\n        Object {\n          \"left\": true,\n          \"name\": \"进阶\",\n        },\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"子节点1\",\n            },\n            Object {\n              \"name\": \"子节点2\",\n            },\n            Object {\n              \"name\": \"子节点3\",\n            },\n          ],\n          \"name\": \"一级节点\",\n        },\n      ],\n      \"name\": \"如何学习D3\",\n    },\n    \"width\": 10,\n    \"x\": 0,\n    \"y\": 135,\n  },\n  \"px\": 0,\n  \"py\": 0,\n  \"rawData\": Object {\n    \"children\": Array [\n      Object {\n        \"name\": \"折叠节点\",\n      },\n    ],\n    \"collapse\": false,\n    \"name\": \"安装\",\n  },\n  \"width\": 10,\n  \"x\": 94,\n  \"y\": 149,\n}\n`;\n\nexports[`思维导图数据-单元测试 折叠目标节点 折叠成功 1`] = `\nObject {\n  \"_children\": Array [\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#b2df8a\",\n      \"depth\": 3,\n      \"dx\": -94,\n      \"dy\": -28,\n      \"gKey\": 16,\n      \"height\": 10,\n      \"id\": \"0-2-4-0\",\n      \"left\": true,\n      \"name\": \"柱形图\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"name\": \"柱形图\",\n      },\n      \"width\": 10,\n      \"x\": -272,\n      \"y\": 93,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#b2df8a\",\n      \"depth\": 3,\n      \"dx\": -94,\n      \"dy\": 0,\n      \"gKey\": 17,\n      \"height\": 10,\n      \"id\": \"0-2-4-1\",\n      \"left\": true,\n      \"name\": \"折线图\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"name\": \"折线图\",\n      },\n      \"width\": 10,\n      \"x\": -272,\n      \"y\": 121,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#b2df8a\",\n      \"depth\": 3,\n      \"dx\": -94,\n      \"dy\": 28,\n      \"gKey\": 18,\n      \"height\": 10,\n      \"id\": \"0-2-4-2\",\n      \"left\": true,\n      \"name\": \"散点图\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"name\": \"散点图\",\n      },\n      \"width\": 10,\n      \"x\": -272,\n      \"y\": 149,\n    },\n  ],\n  \"children\": Array [],\n  \"collapse\": true,\n  \"color\": \"#b2df8a\",\n  \"depth\": 2,\n  \"dx\": -94,\n  \"dy\": 14,\n  \"gKey\": 15,\n  \"height\": 10,\n  \"id\": \"0-2-4\",\n  \"left\": true,\n  \"name\": \"简单图形\",\n  \"parent\": Object {\n    \"_children\": Array [],\n    \"children\": Array [\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": -98,\n        \"gKey\": 11,\n        \"height\": 10,\n        \"id\": \"0-2-0\",\n        \"left\": true,\n        \"name\": \"选择集\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"选择集\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 9,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": -70,\n        \"gKey\": 12,\n        \"height\": 10,\n        \"id\": \"0-2-1\",\n        \"left\": true,\n        \"name\": \"test\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"test\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 37,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": -42,\n        \"gKey\": 13,\n        \"height\": 10,\n        \"id\": \"0-2-2\",\n        \"left\": true,\n        \"name\": \"绑定数据\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"绑定数据\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 65,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": -14,\n        \"gKey\": 14,\n        \"height\": 10,\n        \"id\": \"0-2-3\",\n        \"left\": true,\n        \"name\": \"添加删除元素\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"添加删除元素\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 93,\n      },\n      [Circular],\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": 42,\n        \"gKey\": 19,\n        \"height\": 10,\n        \"id\": \"0-2-5\",\n        \"left\": true,\n        \"name\": \"比例尺\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"比例尺\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 149,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": 70,\n        \"gKey\": 20,\n        \"height\": 10,\n        \"id\": \"0-2-6\",\n        \"left\": true,\n        \"name\": \"生成器\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"生成器\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 177,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": 98,\n        \"gKey\": 21,\n        \"height\": 10,\n        \"id\": \"0-2-7\",\n        \"left\": true,\n        \"name\": \"过渡\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"过渡\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 205,\n      },\n    ],\n    \"collapse\": false,\n    \"color\": \"#b2df8a\",\n    \"depth\": 1,\n    \"dx\": -84,\n    \"dy\": -14,\n    \"gKey\": 10,\n    \"height\": 10,\n    \"id\": \"0-2\",\n    \"left\": true,\n    \"name\": \"入门\",\n    \"parent\": Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": -56,\n              \"gKey\": 3,\n              \"height\": 10,\n              \"id\": \"0-0-0\",\n              \"left\": false,\n              \"name\": \"HTML & CSS\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"HTML & CSS\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 9,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": -28,\n              \"gKey\": 4,\n              \"height\": 10,\n              \"id\": \"0-0-1\",\n              \"left\": false,\n              \"name\": \"JavaScript\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"JavaScript\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 37,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 0,\n              \"gKey\": 5,\n              \"height\": 10,\n              \"id\": \"0-0-2\",\n              \"left\": false,\n              \"name\": \"DOM\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"DOM\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 65,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 28,\n              \"gKey\": 6,\n              \"height\": 10,\n              \"id\": \"0-0-3\",\n              \"left\": false,\n              \"name\": \"SVG\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"SVG\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 93,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 56,\n              \"gKey\": 7,\n              \"height\": 10,\n              \"id\": \"0-0-4\",\n              \"left\": false,\n              \"name\": \"test\ntest\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"test\ntest\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 121,\n            },\n          ],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 1,\n          \"dx\": 94,\n          \"dy\": -56,\n          \"gKey\": 2,\n          \"height\": 10,\n          \"id\": \"0-0\",\n          \"left\": false,\n          \"name\": \"预备知识\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"HTML & CSS\",\n              },\n              Object {\n                \"name\": \"JavaScript\",\n              },\n              Object {\n                \"name\": \"DOM\",\n              },\n              Object {\n                \"name\": \"SVG\",\n              },\n              Object {\n                \"name\": \"test\ntest\",\n              },\n            ],\n            \"name\": \"预备知识\",\n          },\n          \"width\": 10,\n          \"x\": 94,\n          \"y\": 65,\n        },\n        Object {\n          \"_children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#1f78b4\",\n              \"depth\": 2,\n              \"dx\": 0,\n              \"dy\": 0,\n              \"gKey\": 9,\n              \"height\": 10,\n              \"id\": \"0-1-0\",\n              \"left\": false,\n              \"name\": \"折叠节点\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"折叠节点\",\n              },\n              \"width\": 10,\n              \"x\": 0,\n              \"y\": 0,\n            },\n          ],\n          \"children\": Array [],\n          \"collapse\": true,\n          \"color\": \"#1f78b4\",\n          \"depth\": 1,\n          \"dx\": 94,\n          \"dy\": 0,\n          \"gKey\": 8,\n          \"height\": 10,\n          \"id\": \"0-1\",\n          \"left\": false,\n          \"name\": \"安装\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"折叠节点\",\n              },\n            ],\n            \"collapse\": true,\n            \"name\": \"安装\",\n          },\n          \"width\": 10,\n          \"x\": 94,\n          \"y\": 121,\n        },\n        [Circular],\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#33a02c\",\n          \"depth\": 1,\n          \"dx\": -84,\n          \"dy\": 14,\n          \"gKey\": 22,\n          \"height\": 10,\n          \"id\": \"0-3\",\n          \"left\": true,\n          \"name\": \"进阶\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"left\": true,\n            \"name\": \"进阶\",\n          },\n          \"width\": 10,\n          \"x\": -84,\n          \"y\": 135,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": -28,\n              \"gKey\": 24,\n              \"height\": 10,\n              \"id\": \"0-4-0\",\n              \"left\": false,\n              \"name\": \"子节点1\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点1\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 149,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 0,\n              \"gKey\": 25,\n              \"height\": 10,\n              \"id\": \"0-4-1\",\n              \"left\": false,\n              \"name\": \"子节点2\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点2\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 177,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 28,\n              \"gKey\": 26,\n              \"height\": 10,\n              \"id\": \"0-4-2\",\n              \"left\": false,\n              \"name\": \"子节点3\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点3\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 205,\n            },\n          ],\n          \"collapse\": false,\n          \"color\": \"#fb9a99\",\n          \"depth\": 1,\n          \"dx\": 94,\n          \"dy\": 56,\n          \"gKey\": 23,\n          \"height\": 10,\n          \"id\": \"0-4\",\n          \"left\": false,\n          \"name\": \"一级节点\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"子节点1\",\n              },\n              Object {\n                \"name\": \"子节点2\",\n              },\n              Object {\n                \"name\": \"子节点3\",\n              },\n            ],\n            \"name\": \"一级节点\",\n          },\n          \"width\": 10,\n          \"x\": 94,\n          \"y\": 177,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"\",\n      \"depth\": 0,\n      \"dx\": 0,\n      \"dy\": 0,\n      \"gKey\": 1,\n      \"height\": 10,\n      \"id\": \"0\",\n      \"left\": false,\n      \"name\": \"如何学习D3\",\n      \"parent\": null,\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"HTML & CSS\",\n              },\n              Object {\n                \"name\": \"JavaScript\",\n              },\n              Object {\n                \"name\": \"DOM\",\n              },\n              Object {\n                \"name\": \"SVG\",\n              },\n              Object {\n                \"name\": \"test\ntest\",\n              },\n            ],\n            \"name\": \"预备知识\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"折叠节点\",\n              },\n            ],\n            \"collapse\": true,\n            \"name\": \"安装\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"选择集\",\n              },\n              Object {\n                \"name\": \"test\",\n              },\n              Object {\n                \"name\": \"绑定数据\",\n              },\n              Object {\n                \"name\": \"添加删除元素\",\n              },\n              Object {\n                \"children\": Array [\n                  Object {\n                    \"name\": \"柱形图\",\n                  },\n                  Object {\n                    \"name\": \"折线图\",\n                  },\n                  Object {\n                    \"name\": \"散点图\",\n                  },\n                ],\n                \"collapse\": true,\n                \"name\": \"简单图形\",\n              },\n              Object {\n                \"name\": \"比例尺\",\n              },\n              Object {\n                \"name\": \"生成器\",\n              },\n              Object {\n                \"name\": \"过渡\",\n              },\n            ],\n            \"left\": true,\n            \"name\": \"入门\",\n          },\n          Object {\n            \"left\": true,\n            \"name\": \"进阶\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"子节点1\",\n              },\n              Object {\n                \"name\": \"子节点2\",\n              },\n              Object {\n                \"name\": \"子节点3\",\n              },\n            ],\n            \"name\": \"一级节点\",\n          },\n        ],\n        \"name\": \"如何学习D3\",\n      },\n      \"width\": 10,\n      \"x\": 0,\n      \"y\": 121,\n    },\n    \"px\": 0,\n    \"py\": 0,\n    \"rawData\": Object {\n      \"children\": Array [\n        Object {\n          \"name\": \"选择集\",\n        },\n        Object {\n          \"name\": \"test\",\n        },\n        Object {\n          \"name\": \"绑定数据\",\n        },\n        Object {\n          \"name\": \"添加删除元素\",\n        },\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"柱形图\",\n            },\n            Object {\n              \"name\": \"折线图\",\n            },\n            Object {\n              \"name\": \"散点图\",\n            },\n          ],\n          \"collapse\": true,\n          \"name\": \"简单图形\",\n        },\n        Object {\n          \"name\": \"比例尺\",\n        },\n        Object {\n          \"name\": \"生成器\",\n        },\n        Object {\n          \"name\": \"过渡\",\n        },\n      ],\n      \"left\": true,\n      \"name\": \"入门\",\n    },\n    \"width\": 10,\n    \"x\": -84,\n    \"y\": 107,\n  },\n  \"px\": 0,\n  \"py\": 0,\n  \"rawData\": Object {\n    \"children\": Array [\n      Object {\n        \"name\": \"柱形图\",\n      },\n      Object {\n        \"name\": \"折线图\",\n      },\n      Object {\n        \"name\": \"散点图\",\n      },\n    ],\n    \"collapse\": true,\n    \"name\": \"简单图形\",\n  },\n  \"width\": 10,\n  \"x\": -178,\n  \"y\": 121,\n}\n`;\n\nexports[`思维导图数据-单元测试 根据Data生成思维导图数据 生成成功 1`] = `\nObject {\n  \"_children\": Array [],\n  \"children\": Array [\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": -56,\n          \"gKey\": 3,\n          \"height\": 10,\n          \"id\": \"0-0-0\",\n          \"left\": false,\n          \"name\": \"HTML & CSS\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"HTML & CSS\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 9,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": -28,\n          \"gKey\": 4,\n          \"height\": 10,\n          \"id\": \"0-0-1\",\n          \"left\": false,\n          \"name\": \"JavaScript\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"JavaScript\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 37,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": 0,\n          \"gKey\": 5,\n          \"height\": 10,\n          \"id\": \"0-0-2\",\n          \"left\": false,\n          \"name\": \"DOM\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"DOM\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 65,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": 28,\n          \"gKey\": 6,\n          \"height\": 10,\n          \"id\": \"0-0-3\",\n          \"left\": false,\n          \"name\": \"SVG\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"SVG\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 93,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": 56,\n          \"gKey\": 7,\n          \"height\": 10,\n          \"id\": \"0-0-4\",\n          \"left\": false,\n          \"name\": \"test\ntest\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"test\ntest\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 121,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"#a6cee3\",\n      \"depth\": 1,\n      \"dx\": 94,\n      \"dy\": -56,\n      \"gKey\": 2,\n      \"height\": 10,\n      \"id\": \"0-0\",\n      \"left\": false,\n      \"name\": \"预备知识\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"HTML & CSS\",\n          },\n          Object {\n            \"name\": \"JavaScript\",\n          },\n          Object {\n            \"name\": \"DOM\",\n          },\n          Object {\n            \"name\": \"SVG\",\n          },\n          Object {\n            \"name\": \"test\ntest\",\n          },\n        ],\n        \"name\": \"预备知识\",\n      },\n      \"width\": 10,\n      \"x\": 94,\n      \"y\": 65,\n    },\n    Object {\n      \"_children\": Array [\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#1f78b4\",\n          \"depth\": 2,\n          \"dx\": 0,\n          \"dy\": 0,\n          \"gKey\": 9,\n          \"height\": 10,\n          \"id\": \"0-1-0\",\n          \"left\": false,\n          \"name\": \"折叠节点\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"折叠节点\",\n          },\n          \"width\": 10,\n          \"x\": 0,\n          \"y\": 0,\n        },\n      ],\n      \"children\": Array [],\n      \"collapse\": true,\n      \"color\": \"#1f78b4\",\n      \"depth\": 1,\n      \"dx\": 94,\n      \"dy\": 0,\n      \"gKey\": 8,\n      \"height\": 10,\n      \"id\": \"0-1\",\n      \"left\": false,\n      \"name\": \"安装\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"折叠节点\",\n          },\n        ],\n        \"collapse\": true,\n        \"name\": \"安装\",\n      },\n      \"width\": 10,\n      \"x\": 94,\n      \"y\": 121,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": -98,\n          \"gKey\": 11,\n          \"height\": 10,\n          \"id\": \"0-2-0\",\n          \"left\": true,\n          \"name\": \"选择集\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"选择集\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 9,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": -70,\n          \"gKey\": 12,\n          \"height\": 10,\n          \"id\": \"0-2-1\",\n          \"left\": true,\n          \"name\": \"test\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"test\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 37,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": -42,\n          \"gKey\": 13,\n          \"height\": 10,\n          \"id\": \"0-2-2\",\n          \"left\": true,\n          \"name\": \"绑定数据\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"绑定数据\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 65,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": -14,\n          \"gKey\": 14,\n          \"height\": 10,\n          \"id\": \"0-2-3\",\n          \"left\": true,\n          \"name\": \"添加删除元素\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"添加删除元素\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 93,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 3,\n              \"dx\": -94,\n              \"dy\": -28,\n              \"gKey\": 16,\n              \"height\": 10,\n              \"id\": \"0-2-4-0\",\n              \"left\": true,\n              \"name\": \"柱形图\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"柱形图\",\n              },\n              \"width\": 10,\n              \"x\": -272,\n              \"y\": 93,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 3,\n              \"dx\": -94,\n              \"dy\": 0,\n              \"gKey\": 17,\n              \"height\": 10,\n              \"id\": \"0-2-4-1\",\n              \"left\": true,\n              \"name\": \"折线图\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"折线图\",\n              },\n              \"width\": 10,\n              \"x\": -272,\n              \"y\": 121,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 3,\n              \"dx\": -94,\n              \"dy\": 28,\n              \"gKey\": 18,\n              \"height\": 10,\n              \"id\": \"0-2-4-2\",\n              \"left\": true,\n              \"name\": \"散点图\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"散点图\",\n              },\n              \"width\": 10,\n              \"x\": -272,\n              \"y\": 149,\n            },\n          ],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": 14,\n          \"gKey\": 15,\n          \"height\": 10,\n          \"id\": \"0-2-4\",\n          \"left\": true,\n          \"name\": \"简单图形\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"柱形图\",\n              },\n              Object {\n                \"name\": \"折线图\",\n              },\n              Object {\n                \"name\": \"散点图\",\n              },\n            ],\n            \"name\": \"简单图形\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 121,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": 42,\n          \"gKey\": 19,\n          \"height\": 10,\n          \"id\": \"0-2-5\",\n          \"left\": true,\n          \"name\": \"比例尺\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"比例尺\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 149,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": 70,\n          \"gKey\": 20,\n          \"height\": 10,\n          \"id\": \"0-2-6\",\n          \"left\": true,\n          \"name\": \"生成器\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"生成器\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 177,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 2,\n          \"dx\": -94,\n          \"dy\": 98,\n          \"gKey\": 21,\n          \"height\": 10,\n          \"id\": \"0-2-7\",\n          \"left\": true,\n          \"name\": \"过渡\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"过渡\",\n          },\n          \"width\": 10,\n          \"x\": -178,\n          \"y\": 205,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"#b2df8a\",\n      \"depth\": 1,\n      \"dx\": -84,\n      \"dy\": -14,\n      \"gKey\": 10,\n      \"height\": 10,\n      \"id\": \"0-2\",\n      \"left\": true,\n      \"name\": \"入门\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"选择集\",\n          },\n          Object {\n            \"name\": \"test\",\n          },\n          Object {\n            \"name\": \"绑定数据\",\n          },\n          Object {\n            \"name\": \"添加删除元素\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"柱形图\",\n              },\n              Object {\n                \"name\": \"折线图\",\n              },\n              Object {\n                \"name\": \"散点图\",\n              },\n            ],\n            \"name\": \"简单图形\",\n          },\n          Object {\n            \"name\": \"比例尺\",\n          },\n          Object {\n            \"name\": \"生成器\",\n          },\n          Object {\n            \"name\": \"过渡\",\n          },\n        ],\n        \"left\": true,\n        \"name\": \"入门\",\n      },\n      \"width\": 10,\n      \"x\": -84,\n      \"y\": 107,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#33a02c\",\n      \"depth\": 1,\n      \"dx\": -84,\n      \"dy\": 14,\n      \"gKey\": 22,\n      \"height\": 10,\n      \"id\": \"0-3\",\n      \"left\": true,\n      \"name\": \"进阶\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"left\": true,\n        \"name\": \"进阶\",\n      },\n      \"width\": 10,\n      \"x\": -84,\n      \"y\": 135,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#fb9a99\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": -28,\n          \"gKey\": 24,\n          \"height\": 10,\n          \"id\": \"0-4-0\",\n          \"left\": false,\n          \"name\": \"子节点1\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"子节点1\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 149,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#fb9a99\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": 0,\n          \"gKey\": 25,\n          \"height\": 10,\n          \"id\": \"0-4-1\",\n          \"left\": false,\n          \"name\": \"子节点2\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"子节点2\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 177,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#fb9a99\",\n          \"depth\": 2,\n          \"dx\": 94,\n          \"dy\": 28,\n          \"gKey\": 26,\n          \"height\": 10,\n          \"id\": \"0-4-2\",\n          \"left\": false,\n          \"name\": \"子节点3\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"子节点3\",\n          },\n          \"width\": 10,\n          \"x\": 188,\n          \"y\": 205,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"#fb9a99\",\n      \"depth\": 1,\n      \"dx\": 94,\n      \"dy\": 56,\n      \"gKey\": 23,\n      \"height\": 10,\n      \"id\": \"0-4\",\n      \"left\": false,\n      \"name\": \"一级节点\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"子节点1\",\n          },\n          Object {\n            \"name\": \"子节点2\",\n          },\n          Object {\n            \"name\": \"子节点3\",\n          },\n        ],\n        \"name\": \"一级节点\",\n      },\n      \"width\": 10,\n      \"x\": 94,\n      \"y\": 177,\n    },\n  ],\n  \"collapse\": false,\n  \"color\": \"\",\n  \"depth\": 0,\n  \"dx\": 0,\n  \"dy\": 0,\n  \"gKey\": 1,\n  \"height\": 10,\n  \"id\": \"0\",\n  \"left\": false,\n  \"name\": \"如何学习D3\",\n  \"parent\": null,\n  \"px\": 0,\n  \"py\": 0,\n  \"rawData\": Object {\n    \"children\": Array [\n      Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"HTML & CSS\",\n          },\n          Object {\n            \"name\": \"JavaScript\",\n          },\n          Object {\n            \"name\": \"DOM\",\n          },\n          Object {\n            \"name\": \"SVG\",\n          },\n          Object {\n            \"name\": \"test\ntest\",\n          },\n        ],\n        \"name\": \"预备知识\",\n      },\n      Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"折叠节点\",\n          },\n        ],\n        \"collapse\": true,\n        \"name\": \"安装\",\n      },\n      Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"选择集\",\n          },\n          Object {\n            \"name\": \"test\",\n          },\n          Object {\n            \"name\": \"绑定数据\",\n          },\n          Object {\n            \"name\": \"添加删除元素\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"柱形图\",\n              },\n              Object {\n                \"name\": \"折线图\",\n              },\n              Object {\n                \"name\": \"散点图\",\n              },\n            ],\n            \"name\": \"简单图形\",\n          },\n          Object {\n            \"name\": \"比例尺\",\n          },\n          Object {\n            \"name\": \"生成器\",\n          },\n          Object {\n            \"name\": \"过渡\",\n          },\n        ],\n        \"left\": true,\n        \"name\": \"入门\",\n      },\n      Object {\n        \"left\": true,\n        \"name\": \"进阶\",\n      },\n      Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"子节点1\",\n          },\n          Object {\n            \"name\": \"子节点2\",\n          },\n          Object {\n            \"name\": \"子节点3\",\n          },\n        ],\n        \"name\": \"一级节点\",\n      },\n    ],\n    \"name\": \"如何学习D3\",\n  },\n  \"width\": 10,\n  \"x\": 0,\n  \"y\": 121,\n}\n`;\n\nexports[`思维导图数据-单元测试 移动目标节点到指定的兄弟节点之前 左边移到右边 1`] = `\nObject {\n  \"_children\": Array [],\n  \"children\": Array [],\n  \"collapse\": false,\n  \"color\": \"#33a02c\",\n  \"depth\": 1,\n  \"dx\": 94,\n  \"dy\": -18.66666666666667,\n  \"gKey\": 22,\n  \"height\": 10,\n  \"id\": \"0-1\",\n  \"left\": false,\n  \"name\": \"进阶\",\n  \"parent\": Object {\n    \"_children\": Array [],\n    \"children\": Array [\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#a6cee3\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": -56,\n            \"gKey\": 3,\n            \"height\": 10,\n            \"id\": \"0-0-0\",\n            \"left\": false,\n            \"name\": \"HTML & CSS\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"HTML & CSS\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 9,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#a6cee3\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": -28,\n            \"gKey\": 4,\n            \"height\": 10,\n            \"id\": \"0-0-1\",\n            \"left\": false,\n            \"name\": \"JavaScript\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"JavaScript\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 37,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#a6cee3\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 0,\n            \"gKey\": 5,\n            \"height\": 10,\n            \"id\": \"0-0-2\",\n            \"left\": false,\n            \"name\": \"DOM\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"DOM\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 65,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#a6cee3\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 28,\n            \"gKey\": 6,\n            \"height\": 10,\n            \"id\": \"0-0-3\",\n            \"left\": false,\n            \"name\": \"SVG\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"SVG\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 93,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#a6cee3\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 56,\n            \"gKey\": 7,\n            \"height\": 10,\n            \"id\": \"0-0-4\",\n            \"left\": false,\n            \"name\": \"test\ntest\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"test\ntest\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 121,\n          },\n        ],\n        \"collapse\": false,\n        \"color\": \"#a6cee3\",\n        \"depth\": 1,\n        \"dx\": 94,\n        \"dy\": -56,\n        \"gKey\": 2,\n        \"height\": 10,\n        \"id\": \"0-0\",\n        \"left\": false,\n        \"name\": \"预备知识\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"HTML & CSS\",\n            },\n            Object {\n              \"name\": \"JavaScript\",\n            },\n            Object {\n              \"name\": \"DOM\",\n            },\n            Object {\n              \"name\": \"SVG\",\n            },\n            Object {\n              \"name\": \"test\ntest\",\n            },\n          ],\n          \"name\": \"预备知识\",\n        },\n        \"width\": 10,\n        \"x\": 94,\n        \"y\": 65,\n      },\n      [Circular],\n      Object {\n        \"_children\": Array [\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#1f78b4\",\n            \"depth\": 2,\n            \"dx\": 0,\n            \"dy\": 0,\n            \"gKey\": 9,\n            \"height\": 10,\n            \"id\": \"0-1-0\",\n            \"left\": false,\n            \"name\": \"折叠节点\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"折叠节点\",\n            },\n            \"width\": 10,\n            \"x\": 0,\n            \"y\": 0,\n          },\n        ],\n        \"children\": Array [],\n        \"collapse\": true,\n        \"color\": \"#1f78b4\",\n        \"depth\": 1,\n        \"dx\": 94,\n        \"dy\": 18.666666666666657,\n        \"gKey\": 8,\n        \"height\": 10,\n        \"id\": \"0-2\",\n        \"left\": false,\n        \"name\": \"安装\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"折叠节点\",\n            },\n          ],\n          \"collapse\": true,\n          \"name\": \"安装\",\n        },\n        \"width\": 10,\n        \"x\": 94,\n        \"y\": 139.66666666666666,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": -98,\n            \"gKey\": 11,\n            \"height\": 10,\n            \"id\": \"0-3-0\",\n            \"left\": true,\n            \"name\": \"选择集\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"选择集\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 23,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": -70,\n            \"gKey\": 12,\n            \"height\": 10,\n            \"id\": \"0-3-1\",\n            \"left\": true,\n            \"name\": \"test\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"test\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 51,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": -42,\n            \"gKey\": 13,\n            \"height\": 10,\n            \"id\": \"0-3-2\",\n            \"left\": true,\n            \"name\": \"绑定数据\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"绑定数据\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 79,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": -14,\n            \"gKey\": 14,\n            \"height\": 10,\n            \"id\": \"0-3-3\",\n            \"left\": true,\n            \"name\": \"添加删除元素\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"添加删除元素\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 107,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [\n              Object {\n                \"_children\": Array [],\n                \"children\": Array [],\n                \"collapse\": false,\n                \"color\": \"#b2df8a\",\n                \"depth\": 3,\n                \"dx\": -94,\n                \"dy\": -28,\n                \"gKey\": 16,\n                \"height\": 10,\n                \"id\": \"0-3-4-0\",\n                \"left\": true,\n                \"name\": \"柱形图\",\n                \"parent\": [Circular],\n                \"px\": 0,\n                \"py\": 0,\n                \"rawData\": Object {\n                  \"name\": \"柱形图\",\n                },\n                \"width\": 10,\n                \"x\": -272,\n                \"y\": 107,\n              },\n              Object {\n                \"_children\": Array [],\n                \"children\": Array [],\n                \"collapse\": false,\n                \"color\": \"#b2df8a\",\n                \"depth\": 3,\n                \"dx\": -94,\n                \"dy\": 0,\n                \"gKey\": 17,\n                \"height\": 10,\n                \"id\": \"0-3-4-1\",\n                \"left\": true,\n                \"name\": \"折线图\",\n                \"parent\": [Circular],\n                \"px\": 0,\n                \"py\": 0,\n                \"rawData\": Object {\n                  \"name\": \"折线图\",\n                },\n                \"width\": 10,\n                \"x\": -272,\n                \"y\": 135,\n              },\n              Object {\n                \"_children\": Array [],\n                \"children\": Array [],\n                \"collapse\": false,\n                \"color\": \"#b2df8a\",\n                \"depth\": 3,\n                \"dx\": -94,\n                \"dy\": 28,\n                \"gKey\": 18,\n                \"height\": 10,\n                \"id\": \"0-3-4-2\",\n                \"left\": true,\n                \"name\": \"散点图\",\n                \"parent\": [Circular],\n                \"px\": 0,\n                \"py\": 0,\n                \"rawData\": Object {\n                  \"name\": \"散点图\",\n                },\n                \"width\": 10,\n                \"x\": -272,\n                \"y\": 163,\n              },\n            ],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": 14,\n            \"gKey\": 15,\n            \"height\": 10,\n            \"id\": \"0-3-4\",\n            \"left\": true,\n            \"name\": \"简单图形\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"children\": Array [\n                Object {\n                  \"name\": \"柱形图\",\n                },\n                Object {\n                  \"name\": \"折线图\",\n                },\n                Object {\n                  \"name\": \"散点图\",\n                },\n              ],\n              \"name\": \"简单图形\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 135,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": 42,\n            \"gKey\": 19,\n            \"height\": 10,\n            \"id\": \"0-3-5\",\n            \"left\": true,\n            \"name\": \"比例尺\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"比例尺\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 163,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": 70,\n            \"gKey\": 20,\n            \"height\": 10,\n            \"id\": \"0-3-6\",\n            \"left\": true,\n            \"name\": \"生成器\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"生成器\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 191,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": 98,\n            \"gKey\": 21,\n            \"height\": 10,\n            \"id\": \"0-3-7\",\n            \"left\": true,\n            \"name\": \"过渡\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"过渡\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 219,\n          },\n        ],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 1,\n        \"dx\": -84,\n        \"dy\": 0,\n        \"gKey\": 10,\n        \"height\": 10,\n        \"id\": \"0-3\",\n        \"left\": true,\n        \"name\": \"入门\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"选择集\",\n            },\n            Object {\n              \"name\": \"test\",\n            },\n            Object {\n              \"name\": \"绑定数据\",\n            },\n            Object {\n              \"name\": \"添加删除元素\",\n            },\n            Object {\n              \"children\": Array [\n                Object {\n                  \"name\": \"柱形图\",\n                },\n                Object {\n                  \"name\": \"折线图\",\n                },\n                Object {\n                  \"name\": \"散点图\",\n                },\n              ],\n              \"name\": \"简单图形\",\n            },\n            Object {\n              \"name\": \"比例尺\",\n            },\n            Object {\n              \"name\": \"生成器\",\n            },\n            Object {\n              \"name\": \"过渡\",\n            },\n          ],\n          \"left\": true,\n          \"name\": \"入门\",\n        },\n        \"width\": 10,\n        \"x\": -84,\n        \"y\": 121,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#fb9a99\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": -28,\n            \"gKey\": 24,\n            \"height\": 10,\n            \"id\": \"0-4-0\",\n            \"left\": false,\n            \"name\": \"子节点1\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"子节点1\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 149,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#fb9a99\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 0,\n            \"gKey\": 25,\n            \"height\": 10,\n            \"id\": \"0-4-1\",\n            \"left\": false,\n            \"name\": \"子节点2\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"子节点2\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 177,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#fb9a99\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 28,\n            \"gKey\": 26,\n            \"height\": 10,\n            \"id\": \"0-4-2\",\n            \"left\": false,\n            \"name\": \"子节点3\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"子节点3\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 205,\n          },\n        ],\n        \"collapse\": false,\n        \"color\": \"#fb9a99\",\n        \"depth\": 1,\n        \"dx\": 94,\n        \"dy\": 56,\n        \"gKey\": 23,\n        \"height\": 10,\n        \"id\": \"0-4\",\n        \"left\": false,\n        \"name\": \"一级节点\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"子节点1\",\n            },\n            Object {\n              \"name\": \"子节点2\",\n            },\n            Object {\n              \"name\": \"子节点3\",\n            },\n          ],\n          \"name\": \"一级节点\",\n        },\n        \"width\": 10,\n        \"x\": 94,\n        \"y\": 177,\n      },\n    ],\n    \"collapse\": false,\n    \"color\": \"\",\n    \"depth\": 0,\n    \"dx\": 0,\n    \"dy\": 0,\n    \"gKey\": 1,\n    \"height\": 10,\n    \"id\": \"0\",\n    \"left\": false,\n    \"name\": \"如何学习D3\",\n    \"parent\": null,\n    \"px\": 0,\n    \"py\": 0,\n    \"rawData\": Object {\n      \"children\": Array [\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"HTML & CSS\",\n            },\n            Object {\n              \"name\": \"JavaScript\",\n            },\n            Object {\n              \"name\": \"DOM\",\n            },\n            Object {\n              \"name\": \"SVG\",\n            },\n            Object {\n              \"name\": \"test\ntest\",\n            },\n          ],\n          \"name\": \"预备知识\",\n        },\n        Object {\n          \"left\": true,\n          \"name\": \"进阶\",\n        },\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"折叠节点\",\n            },\n          ],\n          \"collapse\": true,\n          \"name\": \"安装\",\n        },\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"选择集\",\n            },\n            Object {\n              \"name\": \"test\",\n            },\n            Object {\n              \"name\": \"绑定数据\",\n            },\n            Object {\n              \"name\": \"添加删除元素\",\n            },\n            Object {\n              \"children\": Array [\n                Object {\n                  \"name\": \"柱形图\",\n                },\n                Object {\n                  \"name\": \"折线图\",\n                },\n                Object {\n                  \"name\": \"散点图\",\n                },\n              ],\n              \"name\": \"简单图形\",\n            },\n            Object {\n              \"name\": \"比例尺\",\n            },\n            Object {\n              \"name\": \"生成器\",\n            },\n            Object {\n              \"name\": \"过渡\",\n            },\n          ],\n          \"left\": true,\n          \"name\": \"入门\",\n        },\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"子节点1\",\n            },\n            Object {\n              \"name\": \"子节点2\",\n            },\n            Object {\n              \"name\": \"子节点3\",\n            },\n          ],\n          \"name\": \"一级节点\",\n        },\n      ],\n      \"name\": \"如何学习D3\",\n    },\n    \"width\": 10,\n    \"x\": 0,\n    \"y\": 121,\n  },\n  \"px\": 0,\n  \"py\": 0,\n  \"rawData\": Object {\n    \"left\": true,\n    \"name\": \"进阶\",\n  },\n  \"width\": 10,\n  \"x\": 94,\n  \"y\": 102.33333333333333,\n}\n`;\n\nexports[`思维导图数据-单元测试 移动目标节点到指定的兄弟节点之前 移动成功 1`] = `\nObject {\n  \"_children\": Array [],\n  \"children\": Array [],\n  \"collapse\": false,\n  \"color\": \"#b2df8a\",\n  \"depth\": 2,\n  \"dx\": -94,\n  \"dy\": -70,\n  \"gKey\": 11,\n  \"height\": 10,\n  \"id\": \"0-2-1\",\n  \"left\": true,\n  \"name\": \"选择集\",\n  \"parent\": Object {\n    \"_children\": Array [],\n    \"children\": Array [\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": -98,\n        \"gKey\": 12,\n        \"height\": 10,\n        \"id\": \"0-2-0\",\n        \"left\": true,\n        \"name\": \"test\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"test\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 9,\n      },\n      [Circular],\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": -42,\n        \"gKey\": 13,\n        \"height\": 10,\n        \"id\": \"0-2-2\",\n        \"left\": true,\n        \"name\": \"绑定数据\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"绑定数据\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 65,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": -14,\n        \"gKey\": 14,\n        \"height\": 10,\n        \"id\": \"0-2-3\",\n        \"left\": true,\n        \"name\": \"添加删除元素\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"添加删除元素\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 93,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 3,\n            \"dx\": -94,\n            \"dy\": -28,\n            \"gKey\": 16,\n            \"height\": 10,\n            \"id\": \"0-2-4-0\",\n            \"left\": true,\n            \"name\": \"柱形图\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"柱形图\",\n            },\n            \"width\": 10,\n            \"x\": -272,\n            \"y\": 93,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 3,\n            \"dx\": -94,\n            \"dy\": 0,\n            \"gKey\": 17,\n            \"height\": 10,\n            \"id\": \"0-2-4-1\",\n            \"left\": true,\n            \"name\": \"折线图\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"折线图\",\n            },\n            \"width\": 10,\n            \"x\": -272,\n            \"y\": 121,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 3,\n            \"dx\": -94,\n            \"dy\": 28,\n            \"gKey\": 18,\n            \"height\": 10,\n            \"id\": \"0-2-4-2\",\n            \"left\": true,\n            \"name\": \"散点图\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"散点图\",\n            },\n            \"width\": 10,\n            \"x\": -272,\n            \"y\": 149,\n          },\n        ],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": 14,\n        \"gKey\": 15,\n        \"height\": 10,\n        \"id\": \"0-2-4\",\n        \"left\": true,\n        \"name\": \"简单图形\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"柱形图\",\n            },\n            Object {\n              \"name\": \"折线图\",\n            },\n            Object {\n              \"name\": \"散点图\",\n            },\n          ],\n          \"name\": \"简单图形\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 121,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": 42,\n        \"gKey\": 19,\n        \"height\": 10,\n        \"id\": \"0-2-5\",\n        \"left\": true,\n        \"name\": \"比例尺\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"比例尺\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 149,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": 70,\n        \"gKey\": 20,\n        \"height\": 10,\n        \"id\": \"0-2-6\",\n        \"left\": true,\n        \"name\": \"生成器\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"生成器\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 177,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": 98,\n        \"gKey\": 21,\n        \"height\": 10,\n        \"id\": \"0-2-7\",\n        \"left\": true,\n        \"name\": \"过渡\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"过渡\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 205,\n      },\n    ],\n    \"collapse\": false,\n    \"color\": \"#b2df8a\",\n    \"depth\": 1,\n    \"dx\": -84,\n    \"dy\": -14,\n    \"gKey\": 10,\n    \"height\": 10,\n    \"id\": \"0-2\",\n    \"left\": true,\n    \"name\": \"入门\",\n    \"parent\": Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": -56,\n              \"gKey\": 3,\n              \"height\": 10,\n              \"id\": \"0-0-0\",\n              \"left\": false,\n              \"name\": \"HTML & CSS\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"HTML & CSS\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 9,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": -28,\n              \"gKey\": 4,\n              \"height\": 10,\n              \"id\": \"0-0-1\",\n              \"left\": false,\n              \"name\": \"JavaScript\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"JavaScript\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 37,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 0,\n              \"gKey\": 5,\n              \"height\": 10,\n              \"id\": \"0-0-2\",\n              \"left\": false,\n              \"name\": \"DOM\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"DOM\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 65,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 28,\n              \"gKey\": 6,\n              \"height\": 10,\n              \"id\": \"0-0-3\",\n              \"left\": false,\n              \"name\": \"SVG\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"SVG\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 93,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 56,\n              \"gKey\": 7,\n              \"height\": 10,\n              \"id\": \"0-0-4\",\n              \"left\": false,\n              \"name\": \"test\ntest\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"test\ntest\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 121,\n            },\n          ],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 1,\n          \"dx\": 94,\n          \"dy\": -56,\n          \"gKey\": 2,\n          \"height\": 10,\n          \"id\": \"0-0\",\n          \"left\": false,\n          \"name\": \"预备知识\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"HTML & CSS\",\n              },\n              Object {\n                \"name\": \"JavaScript\",\n              },\n              Object {\n                \"name\": \"DOM\",\n              },\n              Object {\n                \"name\": \"SVG\",\n              },\n              Object {\n                \"name\": \"test\ntest\",\n              },\n            ],\n            \"name\": \"预备知识\",\n          },\n          \"width\": 10,\n          \"x\": 94,\n          \"y\": 65,\n        },\n        Object {\n          \"_children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#1f78b4\",\n              \"depth\": 2,\n              \"dx\": 0,\n              \"dy\": 0,\n              \"gKey\": 9,\n              \"height\": 10,\n              \"id\": \"0-1-0\",\n              \"left\": false,\n              \"name\": \"折叠节点\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"折叠节点\",\n              },\n              \"width\": 10,\n              \"x\": 0,\n              \"y\": 0,\n            },\n          ],\n          \"children\": Array [],\n          \"collapse\": true,\n          \"color\": \"#1f78b4\",\n          \"depth\": 1,\n          \"dx\": 94,\n          \"dy\": 0,\n          \"gKey\": 8,\n          \"height\": 10,\n          \"id\": \"0-1\",\n          \"left\": false,\n          \"name\": \"安装\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"折叠节点\",\n              },\n            ],\n            \"collapse\": true,\n            \"name\": \"安装\",\n          },\n          \"width\": 10,\n          \"x\": 94,\n          \"y\": 121,\n        },\n        [Circular],\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#33a02c\",\n          \"depth\": 1,\n          \"dx\": -84,\n          \"dy\": 14,\n          \"gKey\": 22,\n          \"height\": 10,\n          \"id\": \"0-3\",\n          \"left\": true,\n          \"name\": \"进阶\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"left\": true,\n            \"name\": \"进阶\",\n          },\n          \"width\": 10,\n          \"x\": -84,\n          \"y\": 135,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": -28,\n              \"gKey\": 24,\n              \"height\": 10,\n              \"id\": \"0-4-0\",\n              \"left\": false,\n              \"name\": \"子节点1\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点1\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 149,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 0,\n              \"gKey\": 25,\n              \"height\": 10,\n              \"id\": \"0-4-1\",\n              \"left\": false,\n              \"name\": \"子节点2\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点2\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 177,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 28,\n              \"gKey\": 26,\n              \"height\": 10,\n              \"id\": \"0-4-2\",\n              \"left\": false,\n              \"name\": \"子节点3\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点3\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 205,\n            },\n          ],\n          \"collapse\": false,\n          \"color\": \"#fb9a99\",\n          \"depth\": 1,\n          \"dx\": 94,\n          \"dy\": 56,\n          \"gKey\": 23,\n          \"height\": 10,\n          \"id\": \"0-4\",\n          \"left\": false,\n          \"name\": \"一级节点\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"子节点1\",\n              },\n              Object {\n                \"name\": \"子节点2\",\n              },\n              Object {\n                \"name\": \"子节点3\",\n              },\n            ],\n            \"name\": \"一级节点\",\n          },\n          \"width\": 10,\n          \"x\": 94,\n          \"y\": 177,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"\",\n      \"depth\": 0,\n      \"dx\": 0,\n      \"dy\": 0,\n      \"gKey\": 1,\n      \"height\": 10,\n      \"id\": \"0\",\n      \"left\": false,\n      \"name\": \"如何学习D3\",\n      \"parent\": null,\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"HTML & CSS\",\n              },\n              Object {\n                \"name\": \"JavaScript\",\n              },\n              Object {\n                \"name\": \"DOM\",\n              },\n              Object {\n                \"name\": \"SVG\",\n              },\n              Object {\n                \"name\": \"test\ntest\",\n              },\n            ],\n            \"name\": \"预备知识\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"折叠节点\",\n              },\n            ],\n            \"collapse\": true,\n            \"name\": \"安装\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"test\",\n              },\n              Object {\n                \"name\": \"选择集\",\n              },\n              Object {\n                \"name\": \"绑定数据\",\n              },\n              Object {\n                \"name\": \"添加删除元素\",\n              },\n              Object {\n                \"children\": Array [\n                  Object {\n                    \"name\": \"柱形图\",\n                  },\n                  Object {\n                    \"name\": \"折线图\",\n                  },\n                  Object {\n                    \"name\": \"散点图\",\n                  },\n                ],\n                \"name\": \"简单图形\",\n              },\n              Object {\n                \"name\": \"比例尺\",\n              },\n              Object {\n                \"name\": \"生成器\",\n              },\n              Object {\n                \"name\": \"过渡\",\n              },\n            ],\n            \"left\": true,\n            \"name\": \"入门\",\n          },\n          Object {\n            \"left\": true,\n            \"name\": \"进阶\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"子节点1\",\n              },\n              Object {\n                \"name\": \"子节点2\",\n              },\n              Object {\n                \"name\": \"子节点3\",\n              },\n            ],\n            \"name\": \"一级节点\",\n          },\n        ],\n        \"name\": \"如何学习D3\",\n      },\n      \"width\": 10,\n      \"x\": 0,\n      \"y\": 121,\n    },\n    \"px\": 0,\n    \"py\": 0,\n    \"rawData\": Object {\n      \"children\": Array [\n        Object {\n          \"name\": \"test\",\n        },\n        Object {\n          \"name\": \"选择集\",\n        },\n        Object {\n          \"name\": \"绑定数据\",\n        },\n        Object {\n          \"name\": \"添加删除元素\",\n        },\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"柱形图\",\n            },\n            Object {\n              \"name\": \"折线图\",\n            },\n            Object {\n              \"name\": \"散点图\",\n            },\n          ],\n          \"name\": \"简单图形\",\n        },\n        Object {\n          \"name\": \"比例尺\",\n        },\n        Object {\n          \"name\": \"生成器\",\n        },\n        Object {\n          \"name\": \"过渡\",\n        },\n      ],\n      \"left\": true,\n      \"name\": \"入门\",\n    },\n    \"width\": 10,\n    \"x\": -84,\n    \"y\": 107,\n  },\n  \"px\": 0,\n  \"py\": 0,\n  \"rawData\": Object {\n    \"name\": \"选择集\",\n  },\n  \"width\": 10,\n  \"x\": -178,\n  \"y\": 37,\n}\n`;\n\nexports[`思维导图数据-单元测试 移动目标节点到指定的父亲节点下 移动成功 1`] = `\nObject {\n  \"_children\": Array [],\n  \"children\": Array [\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#33a02c\",\n      \"depth\": 3,\n      \"dx\": -94,\n      \"dy\": -98,\n      \"gKey\": 11,\n      \"height\": 10,\n      \"id\": \"0-2-0-0\",\n      \"left\": true,\n      \"name\": \"选择集\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"name\": \"选择集\",\n      },\n      \"width\": 10,\n      \"x\": -272,\n      \"y\": 23,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#33a02c\",\n      \"depth\": 3,\n      \"dx\": -94,\n      \"dy\": -70,\n      \"gKey\": 12,\n      \"height\": 10,\n      \"id\": \"0-2-0-1\",\n      \"left\": true,\n      \"name\": \"test\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"name\": \"test\",\n      },\n      \"width\": 10,\n      \"x\": -272,\n      \"y\": 51,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#33a02c\",\n      \"depth\": 3,\n      \"dx\": -94,\n      \"dy\": -42,\n      \"gKey\": 13,\n      \"height\": 10,\n      \"id\": \"0-2-0-2\",\n      \"left\": true,\n      \"name\": \"绑定数据\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"name\": \"绑定数据\",\n      },\n      \"width\": 10,\n      \"x\": -272,\n      \"y\": 79,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#33a02c\",\n      \"depth\": 3,\n      \"dx\": -94,\n      \"dy\": -14,\n      \"gKey\": 14,\n      \"height\": 10,\n      \"id\": \"0-2-0-3\",\n      \"left\": true,\n      \"name\": \"添加删除元素\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"name\": \"添加删除元素\",\n      },\n      \"width\": 10,\n      \"x\": -272,\n      \"y\": 107,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#33a02c\",\n          \"depth\": 4,\n          \"dx\": -94,\n          \"dy\": -28,\n          \"gKey\": 16,\n          \"height\": 10,\n          \"id\": \"0-2-0-4-0\",\n          \"left\": true,\n          \"name\": \"柱形图\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"柱形图\",\n          },\n          \"width\": 10,\n          \"x\": -366,\n          \"y\": 107,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#33a02c\",\n          \"depth\": 4,\n          \"dx\": -94,\n          \"dy\": 0,\n          \"gKey\": 17,\n          \"height\": 10,\n          \"id\": \"0-2-0-4-1\",\n          \"left\": true,\n          \"name\": \"折线图\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"折线图\",\n          },\n          \"width\": 10,\n          \"x\": -366,\n          \"y\": 135,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#33a02c\",\n          \"depth\": 4,\n          \"dx\": -94,\n          \"dy\": 28,\n          \"gKey\": 18,\n          \"height\": 10,\n          \"id\": \"0-2-0-4-2\",\n          \"left\": true,\n          \"name\": \"散点图\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"散点图\",\n          },\n          \"width\": 10,\n          \"x\": -366,\n          \"y\": 163,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"#33a02c\",\n      \"depth\": 3,\n      \"dx\": -94,\n      \"dy\": 14,\n      \"gKey\": 15,\n      \"height\": 10,\n      \"id\": \"0-2-0-4\",\n      \"left\": true,\n      \"name\": \"简单图形\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"柱形图\",\n          },\n          Object {\n            \"name\": \"折线图\",\n          },\n          Object {\n            \"name\": \"散点图\",\n          },\n        ],\n        \"name\": \"简单图形\",\n      },\n      \"width\": 10,\n      \"x\": -272,\n      \"y\": 135,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#33a02c\",\n      \"depth\": 3,\n      \"dx\": -94,\n      \"dy\": 42,\n      \"gKey\": 19,\n      \"height\": 10,\n      \"id\": \"0-2-0-5\",\n      \"left\": true,\n      \"name\": \"比例尺\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"name\": \"比例尺\",\n      },\n      \"width\": 10,\n      \"x\": -272,\n      \"y\": 163,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#33a02c\",\n      \"depth\": 3,\n      \"dx\": -94,\n      \"dy\": 70,\n      \"gKey\": 20,\n      \"height\": 10,\n      \"id\": \"0-2-0-6\",\n      \"left\": true,\n      \"name\": \"生成器\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"name\": \"生成器\",\n      },\n      \"width\": 10,\n      \"x\": -272,\n      \"y\": 191,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#33a02c\",\n      \"depth\": 3,\n      \"dx\": -94,\n      \"dy\": 98,\n      \"gKey\": 21,\n      \"height\": 10,\n      \"id\": \"0-2-0-7\",\n      \"left\": true,\n      \"name\": \"过渡\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"name\": \"过渡\",\n      },\n      \"width\": 10,\n      \"x\": -272,\n      \"y\": 219,\n    },\n  ],\n  \"collapse\": false,\n  \"color\": \"#33a02c\",\n  \"depth\": 2,\n  \"dx\": -94,\n  \"dy\": 0,\n  \"gKey\": 27,\n  \"height\": 10,\n  \"id\": \"0-2-0\",\n  \"left\": true,\n  \"name\": \"入门\",\n  \"parent\": Object {\n    \"_children\": Array [],\n    \"children\": Array [\n      [Circular],\n    ],\n    \"collapse\": false,\n    \"color\": \"#33a02c\",\n    \"depth\": 1,\n    \"dx\": -84,\n    \"dy\": 0,\n    \"gKey\": 22,\n    \"height\": 10,\n    \"id\": \"0-2\",\n    \"left\": true,\n    \"name\": \"进阶\",\n    \"parent\": Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": -56,\n              \"gKey\": 3,\n              \"height\": 10,\n              \"id\": \"0-0-0\",\n              \"left\": false,\n              \"name\": \"HTML & CSS\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"HTML & CSS\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 9,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": -28,\n              \"gKey\": 4,\n              \"height\": 10,\n              \"id\": \"0-0-1\",\n              \"left\": false,\n              \"name\": \"JavaScript\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"JavaScript\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 37,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 0,\n              \"gKey\": 5,\n              \"height\": 10,\n              \"id\": \"0-0-2\",\n              \"left\": false,\n              \"name\": \"DOM\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"DOM\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 65,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 28,\n              \"gKey\": 6,\n              \"height\": 10,\n              \"id\": \"0-0-3\",\n              \"left\": false,\n              \"name\": \"SVG\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"SVG\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 93,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 56,\n              \"gKey\": 7,\n              \"height\": 10,\n              \"id\": \"0-0-4\",\n              \"left\": false,\n              \"name\": \"test\ntest\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"test\ntest\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 121,\n            },\n          ],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 1,\n          \"dx\": 94,\n          \"dy\": -56,\n          \"gKey\": 2,\n          \"height\": 10,\n          \"id\": \"0-0\",\n          \"left\": false,\n          \"name\": \"预备知识\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"HTML & CSS\",\n              },\n              Object {\n                \"name\": \"JavaScript\",\n              },\n              Object {\n                \"name\": \"DOM\",\n              },\n              Object {\n                \"name\": \"SVG\",\n              },\n              Object {\n                \"name\": \"test\ntest\",\n              },\n            ],\n            \"name\": \"预备知识\",\n          },\n          \"width\": 10,\n          \"x\": 94,\n          \"y\": 65,\n        },\n        Object {\n          \"_children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#1f78b4\",\n              \"depth\": 2,\n              \"dx\": 0,\n              \"dy\": 0,\n              \"gKey\": 9,\n              \"height\": 10,\n              \"id\": \"0-1-0\",\n              \"left\": false,\n              \"name\": \"折叠节点\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"折叠节点\",\n              },\n              \"width\": 10,\n              \"x\": 0,\n              \"y\": 0,\n            },\n          ],\n          \"children\": Array [],\n          \"collapse\": true,\n          \"color\": \"#1f78b4\",\n          \"depth\": 1,\n          \"dx\": 94,\n          \"dy\": 0,\n          \"gKey\": 8,\n          \"height\": 10,\n          \"id\": \"0-1\",\n          \"left\": false,\n          \"name\": \"安装\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"折叠节点\",\n              },\n            ],\n            \"collapse\": true,\n            \"name\": \"安装\",\n          },\n          \"width\": 10,\n          \"x\": 94,\n          \"y\": 121,\n        },\n        [Circular],\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": -28,\n              \"gKey\": 24,\n              \"height\": 10,\n              \"id\": \"0-3-0\",\n              \"left\": false,\n              \"name\": \"子节点1\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点1\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 149,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 0,\n              \"gKey\": 25,\n              \"height\": 10,\n              \"id\": \"0-3-1\",\n              \"left\": false,\n              \"name\": \"子节点2\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点2\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 177,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 28,\n              \"gKey\": 26,\n              \"height\": 10,\n              \"id\": \"0-3-2\",\n              \"left\": false,\n              \"name\": \"子节点3\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点3\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 205,\n            },\n          ],\n          \"collapse\": false,\n          \"color\": \"#fb9a99\",\n          \"depth\": 1,\n          \"dx\": 94,\n          \"dy\": 56,\n          \"gKey\": 23,\n          \"height\": 10,\n          \"id\": \"0-3\",\n          \"left\": false,\n          \"name\": \"一级节点\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"子节点1\",\n              },\n              Object {\n                \"name\": \"子节点2\",\n              },\n              Object {\n                \"name\": \"子节点3\",\n              },\n            ],\n            \"name\": \"一级节点\",\n          },\n          \"width\": 10,\n          \"x\": 94,\n          \"y\": 177,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"\",\n      \"depth\": 0,\n      \"dx\": 0,\n      \"dy\": 0,\n      \"gKey\": 1,\n      \"height\": 10,\n      \"id\": \"0\",\n      \"left\": false,\n      \"name\": \"如何学习D3\",\n      \"parent\": null,\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"HTML & CSS\",\n              },\n              Object {\n                \"name\": \"JavaScript\",\n              },\n              Object {\n                \"name\": \"DOM\",\n              },\n              Object {\n                \"name\": \"SVG\",\n              },\n              Object {\n                \"name\": \"test\ntest\",\n              },\n            ],\n            \"name\": \"预备知识\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"折叠节点\",\n              },\n            ],\n            \"collapse\": true,\n            \"name\": \"安装\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"children\": Array [\n                  Object {\n                    \"name\": \"选择集\",\n                  },\n                  Object {\n                    \"name\": \"test\",\n                  },\n                  Object {\n                    \"name\": \"绑定数据\",\n                  },\n                  Object {\n                    \"name\": \"添加删除元素\",\n                  },\n                  Object {\n                    \"children\": Array [\n                      Object {\n                        \"name\": \"柱形图\",\n                      },\n                      Object {\n                        \"name\": \"折线图\",\n                      },\n                      Object {\n                        \"name\": \"散点图\",\n                      },\n                    ],\n                    \"name\": \"简单图形\",\n                  },\n                  Object {\n                    \"name\": \"比例尺\",\n                  },\n                  Object {\n                    \"name\": \"生成器\",\n                  },\n                  Object {\n                    \"name\": \"过渡\",\n                  },\n                ],\n                \"left\": true,\n                \"name\": \"入门\",\n              },\n            ],\n            \"left\": true,\n            \"name\": \"进阶\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"子节点1\",\n              },\n              Object {\n                \"name\": \"子节点2\",\n              },\n              Object {\n                \"name\": \"子节点3\",\n              },\n            ],\n            \"name\": \"一级节点\",\n          },\n        ],\n        \"name\": \"如何学习D3\",\n      },\n      \"width\": 10,\n      \"x\": 0,\n      \"y\": 121,\n    },\n    \"px\": 0,\n    \"py\": 0,\n    \"rawData\": Object {\n      \"children\": Array [\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"选择集\",\n            },\n            Object {\n              \"name\": \"test\",\n            },\n            Object {\n              \"name\": \"绑定数据\",\n            },\n            Object {\n              \"name\": \"添加删除元素\",\n            },\n            Object {\n              \"children\": Array [\n                Object {\n                  \"name\": \"柱形图\",\n                },\n                Object {\n                  \"name\": \"折线图\",\n                },\n                Object {\n                  \"name\": \"散点图\",\n                },\n              ],\n              \"name\": \"简单图形\",\n            },\n            Object {\n              \"name\": \"比例尺\",\n            },\n            Object {\n              \"name\": \"生成器\",\n            },\n            Object {\n              \"name\": \"过渡\",\n            },\n          ],\n          \"left\": true,\n          \"name\": \"入门\",\n        },\n      ],\n      \"left\": true,\n      \"name\": \"进阶\",\n    },\n    \"width\": 10,\n    \"x\": -84,\n    \"y\": 121,\n  },\n  \"px\": 0,\n  \"py\": 0,\n  \"rawData\": Object {\n    \"children\": Array [\n      Object {\n        \"name\": \"选择集\",\n      },\n      Object {\n        \"name\": \"test\",\n      },\n      Object {\n        \"name\": \"绑定数据\",\n      },\n      Object {\n        \"name\": \"添加删除元素\",\n      },\n      Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"柱形图\",\n          },\n          Object {\n            \"name\": \"折线图\",\n          },\n          Object {\n            \"name\": \"散点图\",\n          },\n        ],\n        \"name\": \"简单图形\",\n      },\n      Object {\n        \"name\": \"比例尺\",\n      },\n      Object {\n        \"name\": \"生成器\",\n      },\n      Object {\n        \"name\": \"过渡\",\n      },\n    ],\n    \"left\": true,\n    \"name\": \"入门\",\n  },\n  \"width\": 10,\n  \"x\": -178,\n  \"y\": 121,\n}\n`;\n\nexports[`思维导图数据-单元测试 给目标节点添加新兄弟节点 添加成功 1`] = `\nObject {\n  \"_children\": Array [],\n  \"children\": Array [],\n  \"collapse\": false,\n  \"color\": \"#b2df8a\",\n  \"depth\": 2,\n  \"dx\": -94,\n  \"dy\": -84,\n  \"gKey\": 27,\n  \"height\": 10,\n  \"id\": \"0-2-1\",\n  \"left\": true,\n  \"name\": \"新兄弟节点\",\n  \"parent\": Object {\n    \"_children\": Array [],\n    \"children\": Array [\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": -112,\n        \"gKey\": 11,\n        \"height\": 10,\n        \"id\": \"0-2-0\",\n        \"left\": true,\n        \"name\": \"选择集\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"选择集\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": -5,\n      },\n      [Circular],\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": -56,\n        \"gKey\": 12,\n        \"height\": 10,\n        \"id\": \"0-2-2\",\n        \"left\": true,\n        \"name\": \"test\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"test\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 51,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": -28,\n        \"gKey\": 13,\n        \"height\": 10,\n        \"id\": \"0-2-3\",\n        \"left\": true,\n        \"name\": \"绑定数据\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"绑定数据\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 79,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": 0,\n        \"gKey\": 14,\n        \"height\": 10,\n        \"id\": \"0-2-4\",\n        \"left\": true,\n        \"name\": \"添加删除元素\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"添加删除元素\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 107,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 3,\n            \"dx\": -94,\n            \"dy\": -28,\n            \"gKey\": 16,\n            \"height\": 10,\n            \"id\": \"0-2-5-0\",\n            \"left\": true,\n            \"name\": \"柱形图\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"柱形图\",\n            },\n            \"width\": 10,\n            \"x\": -272,\n            \"y\": 107,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 3,\n            \"dx\": -94,\n            \"dy\": 0,\n            \"gKey\": 17,\n            \"height\": 10,\n            \"id\": \"0-2-5-1\",\n            \"left\": true,\n            \"name\": \"折线图\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"折线图\",\n            },\n            \"width\": 10,\n            \"x\": -272,\n            \"y\": 135,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 3,\n            \"dx\": -94,\n            \"dy\": 28,\n            \"gKey\": 18,\n            \"height\": 10,\n            \"id\": \"0-2-5-2\",\n            \"left\": true,\n            \"name\": \"散点图\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"散点图\",\n            },\n            \"width\": 10,\n            \"x\": -272,\n            \"y\": 163,\n          },\n        ],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": 28,\n        \"gKey\": 15,\n        \"height\": 10,\n        \"id\": \"0-2-5\",\n        \"left\": true,\n        \"name\": \"简单图形\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"柱形图\",\n            },\n            Object {\n              \"name\": \"折线图\",\n            },\n            Object {\n              \"name\": \"散点图\",\n            },\n          ],\n          \"name\": \"简单图形\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 135,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": 56,\n        \"gKey\": 19,\n        \"height\": 10,\n        \"id\": \"0-2-6\",\n        \"left\": true,\n        \"name\": \"比例尺\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"比例尺\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 163,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": 84,\n        \"gKey\": 20,\n        \"height\": 10,\n        \"id\": \"0-2-7\",\n        \"left\": true,\n        \"name\": \"生成器\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"生成器\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 191,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 2,\n        \"dx\": -94,\n        \"dy\": 112,\n        \"gKey\": 21,\n        \"height\": 10,\n        \"id\": \"0-2-8\",\n        \"left\": true,\n        \"name\": \"过渡\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"过渡\",\n        },\n        \"width\": 10,\n        \"x\": -178,\n        \"y\": 219,\n      },\n    ],\n    \"collapse\": false,\n    \"color\": \"#b2df8a\",\n    \"depth\": 1,\n    \"dx\": -84,\n    \"dy\": -14,\n    \"gKey\": 10,\n    \"height\": 10,\n    \"id\": \"0-2\",\n    \"left\": true,\n    \"name\": \"入门\",\n    \"parent\": Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": -56,\n              \"gKey\": 3,\n              \"height\": 10,\n              \"id\": \"0-0-0\",\n              \"left\": false,\n              \"name\": \"HTML & CSS\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"HTML & CSS\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 9,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": -28,\n              \"gKey\": 4,\n              \"height\": 10,\n              \"id\": \"0-0-1\",\n              \"left\": false,\n              \"name\": \"JavaScript\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"JavaScript\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 37,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 0,\n              \"gKey\": 5,\n              \"height\": 10,\n              \"id\": \"0-0-2\",\n              \"left\": false,\n              \"name\": \"DOM\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"DOM\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 65,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 28,\n              \"gKey\": 6,\n              \"height\": 10,\n              \"id\": \"0-0-3\",\n              \"left\": false,\n              \"name\": \"SVG\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"SVG\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 93,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#a6cee3\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 56,\n              \"gKey\": 7,\n              \"height\": 10,\n              \"id\": \"0-0-4\",\n              \"left\": false,\n              \"name\": \"test\ntest\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"test\ntest\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 121,\n            },\n          ],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 1,\n          \"dx\": 94,\n          \"dy\": -56,\n          \"gKey\": 2,\n          \"height\": 10,\n          \"id\": \"0-0\",\n          \"left\": false,\n          \"name\": \"预备知识\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"HTML & CSS\",\n              },\n              Object {\n                \"name\": \"JavaScript\",\n              },\n              Object {\n                \"name\": \"DOM\",\n              },\n              Object {\n                \"name\": \"SVG\",\n              },\n              Object {\n                \"name\": \"test\ntest\",\n              },\n            ],\n            \"name\": \"预备知识\",\n          },\n          \"width\": 10,\n          \"x\": 94,\n          \"y\": 65,\n        },\n        Object {\n          \"_children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#1f78b4\",\n              \"depth\": 2,\n              \"dx\": 0,\n              \"dy\": 0,\n              \"gKey\": 9,\n              \"height\": 10,\n              \"id\": \"0-1-0\",\n              \"left\": false,\n              \"name\": \"折叠节点\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"折叠节点\",\n              },\n              \"width\": 10,\n              \"x\": 0,\n              \"y\": 0,\n            },\n          ],\n          \"children\": Array [],\n          \"collapse\": true,\n          \"color\": \"#1f78b4\",\n          \"depth\": 1,\n          \"dx\": 94,\n          \"dy\": 0,\n          \"gKey\": 8,\n          \"height\": 10,\n          \"id\": \"0-1\",\n          \"left\": false,\n          \"name\": \"安装\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"折叠节点\",\n              },\n            ],\n            \"collapse\": true,\n            \"name\": \"安装\",\n          },\n          \"width\": 10,\n          \"x\": 94,\n          \"y\": 121,\n        },\n        [Circular],\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#33a02c\",\n          \"depth\": 1,\n          \"dx\": -84,\n          \"dy\": 14,\n          \"gKey\": 22,\n          \"height\": 10,\n          \"id\": \"0-3\",\n          \"left\": true,\n          \"name\": \"进阶\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"left\": true,\n            \"name\": \"进阶\",\n          },\n          \"width\": 10,\n          \"x\": -84,\n          \"y\": 135,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": -28,\n              \"gKey\": 24,\n              \"height\": 10,\n              \"id\": \"0-4-0\",\n              \"left\": false,\n              \"name\": \"子节点1\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点1\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 149,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 0,\n              \"gKey\": 25,\n              \"height\": 10,\n              \"id\": \"0-4-1\",\n              \"left\": false,\n              \"name\": \"子节点2\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点2\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 177,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 28,\n              \"gKey\": 26,\n              \"height\": 10,\n              \"id\": \"0-4-2\",\n              \"left\": false,\n              \"name\": \"子节点3\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点3\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 205,\n            },\n          ],\n          \"collapse\": false,\n          \"color\": \"#fb9a99\",\n          \"depth\": 1,\n          \"dx\": 94,\n          \"dy\": 56,\n          \"gKey\": 23,\n          \"height\": 10,\n          \"id\": \"0-4\",\n          \"left\": false,\n          \"name\": \"一级节点\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"子节点1\",\n              },\n              Object {\n                \"name\": \"子节点2\",\n              },\n              Object {\n                \"name\": \"子节点3\",\n              },\n            ],\n            \"name\": \"一级节点\",\n          },\n          \"width\": 10,\n          \"x\": 94,\n          \"y\": 177,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"\",\n      \"depth\": 0,\n      \"dx\": 0,\n      \"dy\": 0,\n      \"gKey\": 1,\n      \"height\": 10,\n      \"id\": \"0\",\n      \"left\": false,\n      \"name\": \"如何学习D3\",\n      \"parent\": null,\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"HTML & CSS\",\n              },\n              Object {\n                \"name\": \"JavaScript\",\n              },\n              Object {\n                \"name\": \"DOM\",\n              },\n              Object {\n                \"name\": \"SVG\",\n              },\n              Object {\n                \"name\": \"test\ntest\",\n              },\n            ],\n            \"name\": \"预备知识\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"折叠节点\",\n              },\n            ],\n            \"collapse\": true,\n            \"name\": \"安装\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"选择集\",\n              },\n              Object {\n                \"left\": true,\n                \"name\": \"新兄弟节点\",\n              },\n              Object {\n                \"name\": \"test\",\n              },\n              Object {\n                \"name\": \"绑定数据\",\n              },\n              Object {\n                \"name\": \"添加删除元素\",\n              },\n              Object {\n                \"children\": Array [\n                  Object {\n                    \"name\": \"柱形图\",\n                  },\n                  Object {\n                    \"name\": \"折线图\",\n                  },\n                  Object {\n                    \"name\": \"散点图\",\n                  },\n                ],\n                \"name\": \"简单图形\",\n              },\n              Object {\n                \"name\": \"比例尺\",\n              },\n              Object {\n                \"name\": \"生成器\",\n              },\n              Object {\n                \"name\": \"过渡\",\n              },\n            ],\n            \"left\": true,\n            \"name\": \"入门\",\n          },\n          Object {\n            \"left\": true,\n            \"name\": \"进阶\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"子节点1\",\n              },\n              Object {\n                \"name\": \"子节点2\",\n              },\n              Object {\n                \"name\": \"子节点3\",\n              },\n            ],\n            \"name\": \"一级节点\",\n          },\n        ],\n        \"name\": \"如何学习D3\",\n      },\n      \"width\": 10,\n      \"x\": 0,\n      \"y\": 121,\n    },\n    \"px\": 0,\n    \"py\": 0,\n    \"rawData\": Object {\n      \"children\": Array [\n        Object {\n          \"name\": \"选择集\",\n        },\n        Object {\n          \"left\": true,\n          \"name\": \"新兄弟节点\",\n        },\n        Object {\n          \"name\": \"test\",\n        },\n        Object {\n          \"name\": \"绑定数据\",\n        },\n        Object {\n          \"name\": \"添加删除元素\",\n        },\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"柱形图\",\n            },\n            Object {\n              \"name\": \"折线图\",\n            },\n            Object {\n              \"name\": \"散点图\",\n            },\n          ],\n          \"name\": \"简单图形\",\n        },\n        Object {\n          \"name\": \"比例尺\",\n        },\n        Object {\n          \"name\": \"生成器\",\n        },\n        Object {\n          \"name\": \"过渡\",\n        },\n      ],\n      \"left\": true,\n      \"name\": \"入门\",\n    },\n    \"width\": 10,\n    \"x\": -84,\n    \"y\": 107,\n  },\n  \"px\": 0,\n  \"py\": 0,\n  \"rawData\": Object {\n    \"left\": true,\n    \"name\": \"新兄弟节点\",\n  },\n  \"width\": 10,\n  \"x\": -178,\n  \"y\": 23,\n}\n`;\n\nexports[`思维导图数据-单元测试 给目标节点添加新子节点 添加成功 1`] = `\nObject {\n  \"_children\": Array [],\n  \"children\": Array [],\n  \"collapse\": false,\n  \"color\": \"#a6cee3\",\n  \"depth\": 2,\n  \"dx\": 94,\n  \"dy\": 70,\n  \"gKey\": 27,\n  \"height\": 10,\n  \"id\": \"0-0-5\",\n  \"left\": false,\n  \"name\": \"子节点\",\n  \"parent\": Object {\n    \"_children\": Array [],\n    \"children\": Array [\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#a6cee3\",\n        \"depth\": 2,\n        \"dx\": 94,\n        \"dy\": -70,\n        \"gKey\": 3,\n        \"height\": 10,\n        \"id\": \"0-0-0\",\n        \"left\": false,\n        \"name\": \"HTML & CSS\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"HTML & CSS\",\n        },\n        \"width\": 10,\n        \"x\": 188,\n        \"y\": 9,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#a6cee3\",\n        \"depth\": 2,\n        \"dx\": 94,\n        \"dy\": -42,\n        \"gKey\": 4,\n        \"height\": 10,\n        \"id\": \"0-0-1\",\n        \"left\": false,\n        \"name\": \"JavaScript\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"JavaScript\",\n        },\n        \"width\": 10,\n        \"x\": 188,\n        \"y\": 37,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#a6cee3\",\n        \"depth\": 2,\n        \"dx\": 94,\n        \"dy\": -14,\n        \"gKey\": 5,\n        \"height\": 10,\n        \"id\": \"0-0-2\",\n        \"left\": false,\n        \"name\": \"DOM\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"DOM\",\n        },\n        \"width\": 10,\n        \"x\": 188,\n        \"y\": 65,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#a6cee3\",\n        \"depth\": 2,\n        \"dx\": 94,\n        \"dy\": 14,\n        \"gKey\": 6,\n        \"height\": 10,\n        \"id\": \"0-0-3\",\n        \"left\": false,\n        \"name\": \"SVG\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"SVG\",\n        },\n        \"width\": 10,\n        \"x\": 188,\n        \"y\": 93,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#a6cee3\",\n        \"depth\": 2,\n        \"dx\": 94,\n        \"dy\": 42,\n        \"gKey\": 7,\n        \"height\": 10,\n        \"id\": \"0-0-4\",\n        \"left\": false,\n        \"name\": \"test\ntest\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"test\ntest\",\n        },\n        \"width\": 10,\n        \"x\": 188,\n        \"y\": 121,\n      },\n      [Circular],\n    ],\n    \"collapse\": false,\n    \"color\": \"#a6cee3\",\n    \"depth\": 1,\n    \"dx\": 94,\n    \"dy\": -63,\n    \"gKey\": 2,\n    \"height\": 10,\n    \"id\": \"0-0\",\n    \"left\": false,\n    \"name\": \"预备知识\",\n    \"parent\": Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        [Circular],\n        Object {\n          \"_children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#1f78b4\",\n              \"depth\": 2,\n              \"dx\": 0,\n              \"dy\": 0,\n              \"gKey\": 9,\n              \"height\": 10,\n              \"id\": \"0-1-0\",\n              \"left\": false,\n              \"name\": \"折叠节点\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"折叠节点\",\n              },\n              \"width\": 10,\n              \"x\": 0,\n              \"y\": 0,\n            },\n          ],\n          \"children\": Array [],\n          \"collapse\": true,\n          \"color\": \"#1f78b4\",\n          \"depth\": 1,\n          \"dx\": 94,\n          \"dy\": 0,\n          \"gKey\": 8,\n          \"height\": 10,\n          \"id\": \"0-1\",\n          \"left\": false,\n          \"name\": \"安装\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"折叠节点\",\n              },\n            ],\n            \"collapse\": true,\n            \"name\": \"安装\",\n          },\n          \"width\": 10,\n          \"x\": 94,\n          \"y\": 142,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 2,\n              \"dx\": -94,\n              \"dy\": -98,\n              \"gKey\": 11,\n              \"height\": 10,\n              \"id\": \"0-2-0\",\n              \"left\": true,\n              \"name\": \"选择集\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"选择集\",\n              },\n              \"width\": 10,\n              \"x\": -178,\n              \"y\": 30,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 2,\n              \"dx\": -94,\n              \"dy\": -70,\n              \"gKey\": 12,\n              \"height\": 10,\n              \"id\": \"0-2-1\",\n              \"left\": true,\n              \"name\": \"test\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"test\",\n              },\n              \"width\": 10,\n              \"x\": -178,\n              \"y\": 58,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 2,\n              \"dx\": -94,\n              \"dy\": -42,\n              \"gKey\": 13,\n              \"height\": 10,\n              \"id\": \"0-2-2\",\n              \"left\": true,\n              \"name\": \"绑定数据\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"绑定数据\",\n              },\n              \"width\": 10,\n              \"x\": -178,\n              \"y\": 86,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 2,\n              \"dx\": -94,\n              \"dy\": -14,\n              \"gKey\": 14,\n              \"height\": 10,\n              \"id\": \"0-2-3\",\n              \"left\": true,\n              \"name\": \"添加删除元素\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"添加删除元素\",\n              },\n              \"width\": 10,\n              \"x\": -178,\n              \"y\": 114,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [\n                Object {\n                  \"_children\": Array [],\n                  \"children\": Array [],\n                  \"collapse\": false,\n                  \"color\": \"#b2df8a\",\n                  \"depth\": 3,\n                  \"dx\": -94,\n                  \"dy\": -28,\n                  \"gKey\": 16,\n                  \"height\": 10,\n                  \"id\": \"0-2-4-0\",\n                  \"left\": true,\n                  \"name\": \"柱形图\",\n                  \"parent\": [Circular],\n                  \"px\": 0,\n                  \"py\": 0,\n                  \"rawData\": Object {\n                    \"name\": \"柱形图\",\n                  },\n                  \"width\": 10,\n                  \"x\": -272,\n                  \"y\": 114,\n                },\n                Object {\n                  \"_children\": Array [],\n                  \"children\": Array [],\n                  \"collapse\": false,\n                  \"color\": \"#b2df8a\",\n                  \"depth\": 3,\n                  \"dx\": -94,\n                  \"dy\": 0,\n                  \"gKey\": 17,\n                  \"height\": 10,\n                  \"id\": \"0-2-4-1\",\n                  \"left\": true,\n                  \"name\": \"折线图\",\n                  \"parent\": [Circular],\n                  \"px\": 0,\n                  \"py\": 0,\n                  \"rawData\": Object {\n                    \"name\": \"折线图\",\n                  },\n                  \"width\": 10,\n                  \"x\": -272,\n                  \"y\": 142,\n                },\n                Object {\n                  \"_children\": Array [],\n                  \"children\": Array [],\n                  \"collapse\": false,\n                  \"color\": \"#b2df8a\",\n                  \"depth\": 3,\n                  \"dx\": -94,\n                  \"dy\": 28,\n                  \"gKey\": 18,\n                  \"height\": 10,\n                  \"id\": \"0-2-4-2\",\n                  \"left\": true,\n                  \"name\": \"散点图\",\n                  \"parent\": [Circular],\n                  \"px\": 0,\n                  \"py\": 0,\n                  \"rawData\": Object {\n                    \"name\": \"散点图\",\n                  },\n                  \"width\": 10,\n                  \"x\": -272,\n                  \"y\": 170,\n                },\n              ],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 2,\n              \"dx\": -94,\n              \"dy\": 14,\n              \"gKey\": 15,\n              \"height\": 10,\n              \"id\": \"0-2-4\",\n              \"left\": true,\n              \"name\": \"简单图形\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"children\": Array [\n                  Object {\n                    \"name\": \"柱形图\",\n                  },\n                  Object {\n                    \"name\": \"折线图\",\n                  },\n                  Object {\n                    \"name\": \"散点图\",\n                  },\n                ],\n                \"name\": \"简单图形\",\n              },\n              \"width\": 10,\n              \"x\": -178,\n              \"y\": 142,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 2,\n              \"dx\": -94,\n              \"dy\": 42,\n              \"gKey\": 19,\n              \"height\": 10,\n              \"id\": \"0-2-5\",\n              \"left\": true,\n              \"name\": \"比例尺\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"比例尺\",\n              },\n              \"width\": 10,\n              \"x\": -178,\n              \"y\": 170,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 2,\n              \"dx\": -94,\n              \"dy\": 70,\n              \"gKey\": 20,\n              \"height\": 10,\n              \"id\": \"0-2-6\",\n              \"left\": true,\n              \"name\": \"生成器\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"生成器\",\n              },\n              \"width\": 10,\n              \"x\": -178,\n              \"y\": 198,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 2,\n              \"dx\": -94,\n              \"dy\": 98,\n              \"gKey\": 21,\n              \"height\": 10,\n              \"id\": \"0-2-7\",\n              \"left\": true,\n              \"name\": \"过渡\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"过渡\",\n              },\n              \"width\": 10,\n              \"x\": -178,\n              \"y\": 226,\n            },\n          ],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 1,\n          \"dx\": -84,\n          \"dy\": -14,\n          \"gKey\": 10,\n          \"height\": 10,\n          \"id\": \"0-2\",\n          \"left\": true,\n          \"name\": \"入门\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"选择集\",\n              },\n              Object {\n                \"name\": \"test\",\n              },\n              Object {\n                \"name\": \"绑定数据\",\n              },\n              Object {\n                \"name\": \"添加删除元素\",\n              },\n              Object {\n                \"children\": Array [\n                  Object {\n                    \"name\": \"柱形图\",\n                  },\n                  Object {\n                    \"name\": \"折线图\",\n                  },\n                  Object {\n                    \"name\": \"散点图\",\n                  },\n                ],\n                \"name\": \"简单图形\",\n              },\n              Object {\n                \"name\": \"比例尺\",\n              },\n              Object {\n                \"name\": \"生成器\",\n              },\n              Object {\n                \"name\": \"过渡\",\n              },\n            ],\n            \"left\": true,\n            \"name\": \"入门\",\n          },\n          \"width\": 10,\n          \"x\": -84,\n          \"y\": 128,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#33a02c\",\n          \"depth\": 1,\n          \"dx\": -84,\n          \"dy\": 14,\n          \"gKey\": 22,\n          \"height\": 10,\n          \"id\": \"0-3\",\n          \"left\": true,\n          \"name\": \"进阶\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"left\": true,\n            \"name\": \"进阶\",\n          },\n          \"width\": 10,\n          \"x\": -84,\n          \"y\": 156,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": -28,\n              \"gKey\": 24,\n              \"height\": 10,\n              \"id\": \"0-4-0\",\n              \"left\": false,\n              \"name\": \"子节点1\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点1\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 177,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 0,\n              \"gKey\": 25,\n              \"height\": 10,\n              \"id\": \"0-4-1\",\n              \"left\": false,\n              \"name\": \"子节点2\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点2\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 205,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 28,\n              \"gKey\": 26,\n              \"height\": 10,\n              \"id\": \"0-4-2\",\n              \"left\": false,\n              \"name\": \"子节点3\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点3\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 233,\n            },\n          ],\n          \"collapse\": false,\n          \"color\": \"#fb9a99\",\n          \"depth\": 1,\n          \"dx\": 94,\n          \"dy\": 63,\n          \"gKey\": 23,\n          \"height\": 10,\n          \"id\": \"0-4\",\n          \"left\": false,\n          \"name\": \"一级节点\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"子节点1\",\n              },\n              Object {\n                \"name\": \"子节点2\",\n              },\n              Object {\n                \"name\": \"子节点3\",\n              },\n            ],\n            \"name\": \"一级节点\",\n          },\n          \"width\": 10,\n          \"x\": 94,\n          \"y\": 205,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"\",\n      \"depth\": 0,\n      \"dx\": 0,\n      \"dy\": 0,\n      \"gKey\": 1,\n      \"height\": 10,\n      \"id\": \"0\",\n      \"left\": false,\n      \"name\": \"如何学习D3\",\n      \"parent\": null,\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"HTML & CSS\",\n              },\n              Object {\n                \"name\": \"JavaScript\",\n              },\n              Object {\n                \"name\": \"DOM\",\n              },\n              Object {\n                \"name\": \"SVG\",\n              },\n              Object {\n                \"name\": \"test\ntest\",\n              },\n              Object {\n                \"name\": \"子节点\",\n              },\n            ],\n            \"name\": \"预备知识\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"折叠节点\",\n              },\n            ],\n            \"collapse\": true,\n            \"name\": \"安装\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"选择集\",\n              },\n              Object {\n                \"name\": \"test\",\n              },\n              Object {\n                \"name\": \"绑定数据\",\n              },\n              Object {\n                \"name\": \"添加删除元素\",\n              },\n              Object {\n                \"children\": Array [\n                  Object {\n                    \"name\": \"柱形图\",\n                  },\n                  Object {\n                    \"name\": \"折线图\",\n                  },\n                  Object {\n                    \"name\": \"散点图\",\n                  },\n                ],\n                \"name\": \"简单图形\",\n              },\n              Object {\n                \"name\": \"比例尺\",\n              },\n              Object {\n                \"name\": \"生成器\",\n              },\n              Object {\n                \"name\": \"过渡\",\n              },\n            ],\n            \"left\": true,\n            \"name\": \"入门\",\n          },\n          Object {\n            \"left\": true,\n            \"name\": \"进阶\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"子节点1\",\n              },\n              Object {\n                \"name\": \"子节点2\",\n              },\n              Object {\n                \"name\": \"子节点3\",\n              },\n            ],\n            \"name\": \"一级节点\",\n          },\n        ],\n        \"name\": \"如何学习D3\",\n      },\n      \"width\": 10,\n      \"x\": 0,\n      \"y\": 142,\n    },\n    \"px\": 0,\n    \"py\": 0,\n    \"rawData\": Object {\n      \"children\": Array [\n        Object {\n          \"name\": \"HTML & CSS\",\n        },\n        Object {\n          \"name\": \"JavaScript\",\n        },\n        Object {\n          \"name\": \"DOM\",\n        },\n        Object {\n          \"name\": \"SVG\",\n        },\n        Object {\n          \"name\": \"test\ntest\",\n        },\n        Object {\n          \"name\": \"子节点\",\n        },\n      ],\n      \"name\": \"预备知识\",\n    },\n    \"width\": 10,\n    \"x\": 94,\n    \"y\": 79,\n  },\n  \"px\": 0,\n  \"py\": 0,\n  \"rawData\": Object {\n    \"name\": \"子节点\",\n  },\n  \"width\": 10,\n  \"x\": 188,\n  \"y\": 149,\n}\n`;\n\nexports[`思维导图数据-单元测试 给目标节点添加新子节点 添加新子树 1`] = `\nObject {\n  \"_children\": Array [],\n  \"children\": Array [\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#a6cee3\",\n      \"depth\": 3,\n      \"dx\": 94,\n      \"dy\": -14,\n      \"gKey\": 28,\n      \"height\": 10,\n      \"id\": \"0-0-5-0\",\n      \"left\": false,\n      \"name\": \"2\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"name\": \"2\",\n      },\n      \"width\": 10,\n      \"x\": 282,\n      \"y\": 135,\n    },\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [],\n      \"collapse\": false,\n      \"color\": \"#a6cee3\",\n      \"depth\": 3,\n      \"dx\": 94,\n      \"dy\": 14,\n      \"gKey\": 29,\n      \"height\": 10,\n      \"id\": \"0-0-5-1\",\n      \"left\": false,\n      \"name\": \"3\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"name\": \"3\",\n      },\n      \"width\": 10,\n      \"x\": 282,\n      \"y\": 163,\n    },\n  ],\n  \"collapse\": false,\n  \"color\": \"#a6cee3\",\n  \"depth\": 2,\n  \"dx\": 94,\n  \"dy\": 70,\n  \"gKey\": 27,\n  \"height\": 10,\n  \"id\": \"0-0-5\",\n  \"left\": false,\n  \"name\": \"1\",\n  \"parent\": Object {\n    \"_children\": Array [],\n    \"children\": Array [\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#a6cee3\",\n        \"depth\": 2,\n        \"dx\": 94,\n        \"dy\": -70,\n        \"gKey\": 3,\n        \"height\": 10,\n        \"id\": \"0-0-0\",\n        \"left\": false,\n        \"name\": \"HTML & CSS\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"HTML & CSS\",\n        },\n        \"width\": 10,\n        \"x\": 188,\n        \"y\": 9,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#a6cee3\",\n        \"depth\": 2,\n        \"dx\": 94,\n        \"dy\": -42,\n        \"gKey\": 4,\n        \"height\": 10,\n        \"id\": \"0-0-1\",\n        \"left\": false,\n        \"name\": \"JavaScript\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"JavaScript\",\n        },\n        \"width\": 10,\n        \"x\": 188,\n        \"y\": 37,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#a6cee3\",\n        \"depth\": 2,\n        \"dx\": 94,\n        \"dy\": -14,\n        \"gKey\": 5,\n        \"height\": 10,\n        \"id\": \"0-0-2\",\n        \"left\": false,\n        \"name\": \"DOM\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"DOM\",\n        },\n        \"width\": 10,\n        \"x\": 188,\n        \"y\": 65,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#a6cee3\",\n        \"depth\": 2,\n        \"dx\": 94,\n        \"dy\": 14,\n        \"gKey\": 6,\n        \"height\": 10,\n        \"id\": \"0-0-3\",\n        \"left\": false,\n        \"name\": \"SVG\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"SVG\",\n        },\n        \"width\": 10,\n        \"x\": 188,\n        \"y\": 93,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#a6cee3\",\n        \"depth\": 2,\n        \"dx\": 94,\n        \"dy\": 42,\n        \"gKey\": 7,\n        \"height\": 10,\n        \"id\": \"0-0-4\",\n        \"left\": false,\n        \"name\": \"test\ntest\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"name\": \"test\ntest\",\n        },\n        \"width\": 10,\n        \"x\": 188,\n        \"y\": 121,\n      },\n      [Circular],\n    ],\n    \"collapse\": false,\n    \"color\": \"#a6cee3\",\n    \"depth\": 1,\n    \"dx\": 94,\n    \"dy\": -63,\n    \"gKey\": 2,\n    \"height\": 10,\n    \"id\": \"0-0\",\n    \"left\": false,\n    \"name\": \"预备知识\",\n    \"parent\": Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        [Circular],\n        Object {\n          \"_children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#1f78b4\",\n              \"depth\": 2,\n              \"dx\": 0,\n              \"dy\": 0,\n              \"gKey\": 9,\n              \"height\": 10,\n              \"id\": \"0-1-0\",\n              \"left\": false,\n              \"name\": \"折叠节点\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"折叠节点\",\n              },\n              \"width\": 10,\n              \"x\": 0,\n              \"y\": 0,\n            },\n          ],\n          \"children\": Array [],\n          \"collapse\": true,\n          \"color\": \"#1f78b4\",\n          \"depth\": 1,\n          \"dx\": 94,\n          \"dy\": 0,\n          \"gKey\": 8,\n          \"height\": 10,\n          \"id\": \"0-1\",\n          \"left\": false,\n          \"name\": \"安装\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"折叠节点\",\n              },\n            ],\n            \"collapse\": true,\n            \"name\": \"安装\",\n          },\n          \"width\": 10,\n          \"x\": 94,\n          \"y\": 142,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 2,\n              \"dx\": -94,\n              \"dy\": -98,\n              \"gKey\": 11,\n              \"height\": 10,\n              \"id\": \"0-2-0\",\n              \"left\": true,\n              \"name\": \"选择集\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"选择集\",\n              },\n              \"width\": 10,\n              \"x\": -178,\n              \"y\": 30,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 2,\n              \"dx\": -94,\n              \"dy\": -70,\n              \"gKey\": 12,\n              \"height\": 10,\n              \"id\": \"0-2-1\",\n              \"left\": true,\n              \"name\": \"test\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"test\",\n              },\n              \"width\": 10,\n              \"x\": -178,\n              \"y\": 58,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 2,\n              \"dx\": -94,\n              \"dy\": -42,\n              \"gKey\": 13,\n              \"height\": 10,\n              \"id\": \"0-2-2\",\n              \"left\": true,\n              \"name\": \"绑定数据\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"绑定数据\",\n              },\n              \"width\": 10,\n              \"x\": -178,\n              \"y\": 86,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 2,\n              \"dx\": -94,\n              \"dy\": -14,\n              \"gKey\": 14,\n              \"height\": 10,\n              \"id\": \"0-2-3\",\n              \"left\": true,\n              \"name\": \"添加删除元素\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"添加删除元素\",\n              },\n              \"width\": 10,\n              \"x\": -178,\n              \"y\": 114,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [\n                Object {\n                  \"_children\": Array [],\n                  \"children\": Array [],\n                  \"collapse\": false,\n                  \"color\": \"#b2df8a\",\n                  \"depth\": 3,\n                  \"dx\": -94,\n                  \"dy\": -28,\n                  \"gKey\": 16,\n                  \"height\": 10,\n                  \"id\": \"0-2-4-0\",\n                  \"left\": true,\n                  \"name\": \"柱形图\",\n                  \"parent\": [Circular],\n                  \"px\": 0,\n                  \"py\": 0,\n                  \"rawData\": Object {\n                    \"name\": \"柱形图\",\n                  },\n                  \"width\": 10,\n                  \"x\": -272,\n                  \"y\": 114,\n                },\n                Object {\n                  \"_children\": Array [],\n                  \"children\": Array [],\n                  \"collapse\": false,\n                  \"color\": \"#b2df8a\",\n                  \"depth\": 3,\n                  \"dx\": -94,\n                  \"dy\": 0,\n                  \"gKey\": 17,\n                  \"height\": 10,\n                  \"id\": \"0-2-4-1\",\n                  \"left\": true,\n                  \"name\": \"折线图\",\n                  \"parent\": [Circular],\n                  \"px\": 0,\n                  \"py\": 0,\n                  \"rawData\": Object {\n                    \"name\": \"折线图\",\n                  },\n                  \"width\": 10,\n                  \"x\": -272,\n                  \"y\": 142,\n                },\n                Object {\n                  \"_children\": Array [],\n                  \"children\": Array [],\n                  \"collapse\": false,\n                  \"color\": \"#b2df8a\",\n                  \"depth\": 3,\n                  \"dx\": -94,\n                  \"dy\": 28,\n                  \"gKey\": 18,\n                  \"height\": 10,\n                  \"id\": \"0-2-4-2\",\n                  \"left\": true,\n                  \"name\": \"散点图\",\n                  \"parent\": [Circular],\n                  \"px\": 0,\n                  \"py\": 0,\n                  \"rawData\": Object {\n                    \"name\": \"散点图\",\n                  },\n                  \"width\": 10,\n                  \"x\": -272,\n                  \"y\": 170,\n                },\n              ],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 2,\n              \"dx\": -94,\n              \"dy\": 14,\n              \"gKey\": 15,\n              \"height\": 10,\n              \"id\": \"0-2-4\",\n              \"left\": true,\n              \"name\": \"简单图形\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"children\": Array [\n                  Object {\n                    \"name\": \"柱形图\",\n                  },\n                  Object {\n                    \"name\": \"折线图\",\n                  },\n                  Object {\n                    \"name\": \"散点图\",\n                  },\n                ],\n                \"name\": \"简单图形\",\n              },\n              \"width\": 10,\n              \"x\": -178,\n              \"y\": 142,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 2,\n              \"dx\": -94,\n              \"dy\": 42,\n              \"gKey\": 19,\n              \"height\": 10,\n              \"id\": \"0-2-5\",\n              \"left\": true,\n              \"name\": \"比例尺\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"比例尺\",\n              },\n              \"width\": 10,\n              \"x\": -178,\n              \"y\": 170,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 2,\n              \"dx\": -94,\n              \"dy\": 70,\n              \"gKey\": 20,\n              \"height\": 10,\n              \"id\": \"0-2-6\",\n              \"left\": true,\n              \"name\": \"生成器\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"生成器\",\n              },\n              \"width\": 10,\n              \"x\": -178,\n              \"y\": 198,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#b2df8a\",\n              \"depth\": 2,\n              \"dx\": -94,\n              \"dy\": 98,\n              \"gKey\": 21,\n              \"height\": 10,\n              \"id\": \"0-2-7\",\n              \"left\": true,\n              \"name\": \"过渡\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"过渡\",\n              },\n              \"width\": 10,\n              \"x\": -178,\n              \"y\": 226,\n            },\n          ],\n          \"collapse\": false,\n          \"color\": \"#b2df8a\",\n          \"depth\": 1,\n          \"dx\": -84,\n          \"dy\": -14,\n          \"gKey\": 10,\n          \"height\": 10,\n          \"id\": \"0-2\",\n          \"left\": true,\n          \"name\": \"入门\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"选择集\",\n              },\n              Object {\n                \"name\": \"test\",\n              },\n              Object {\n                \"name\": \"绑定数据\",\n              },\n              Object {\n                \"name\": \"添加删除元素\",\n              },\n              Object {\n                \"children\": Array [\n                  Object {\n                    \"name\": \"柱形图\",\n                  },\n                  Object {\n                    \"name\": \"折线图\",\n                  },\n                  Object {\n                    \"name\": \"散点图\",\n                  },\n                ],\n                \"name\": \"简单图形\",\n              },\n              Object {\n                \"name\": \"比例尺\",\n              },\n              Object {\n                \"name\": \"生成器\",\n              },\n              Object {\n                \"name\": \"过渡\",\n              },\n            ],\n            \"left\": true,\n            \"name\": \"入门\",\n          },\n          \"width\": 10,\n          \"x\": -84,\n          \"y\": 128,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#33a02c\",\n          \"depth\": 1,\n          \"dx\": -84,\n          \"dy\": 14,\n          \"gKey\": 22,\n          \"height\": 10,\n          \"id\": \"0-3\",\n          \"left\": true,\n          \"name\": \"进阶\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"left\": true,\n            \"name\": \"进阶\",\n          },\n          \"width\": 10,\n          \"x\": -84,\n          \"y\": 156,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": -28,\n              \"gKey\": 24,\n              \"height\": 10,\n              \"id\": \"0-4-0\",\n              \"left\": false,\n              \"name\": \"子节点1\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点1\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 177,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 0,\n              \"gKey\": 25,\n              \"height\": 10,\n              \"id\": \"0-4-1\",\n              \"left\": false,\n              \"name\": \"子节点2\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点2\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 205,\n            },\n            Object {\n              \"_children\": Array [],\n              \"children\": Array [],\n              \"collapse\": false,\n              \"color\": \"#fb9a99\",\n              \"depth\": 2,\n              \"dx\": 94,\n              \"dy\": 28,\n              \"gKey\": 26,\n              \"height\": 10,\n              \"id\": \"0-4-2\",\n              \"left\": false,\n              \"name\": \"子节点3\",\n              \"parent\": [Circular],\n              \"px\": 0,\n              \"py\": 0,\n              \"rawData\": Object {\n                \"name\": \"子节点3\",\n              },\n              \"width\": 10,\n              \"x\": 188,\n              \"y\": 233,\n            },\n          ],\n          \"collapse\": false,\n          \"color\": \"#fb9a99\",\n          \"depth\": 1,\n          \"dx\": 94,\n          \"dy\": 63,\n          \"gKey\": 23,\n          \"height\": 10,\n          \"id\": \"0-4\",\n          \"left\": false,\n          \"name\": \"一级节点\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"子节点1\",\n              },\n              Object {\n                \"name\": \"子节点2\",\n              },\n              Object {\n                \"name\": \"子节点3\",\n              },\n            ],\n            \"name\": \"一级节点\",\n          },\n          \"width\": 10,\n          \"x\": 94,\n          \"y\": 205,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"\",\n      \"depth\": 0,\n      \"dx\": 0,\n      \"dy\": 0,\n      \"gKey\": 1,\n      \"height\": 10,\n      \"id\": \"0\",\n      \"left\": false,\n      \"name\": \"如何学习D3\",\n      \"parent\": null,\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"HTML & CSS\",\n              },\n              Object {\n                \"name\": \"JavaScript\",\n              },\n              Object {\n                \"name\": \"DOM\",\n              },\n              Object {\n                \"name\": \"SVG\",\n              },\n              Object {\n                \"name\": \"test\ntest\",\n              },\n              Object {\n                \"children\": Array [\n                  Object {\n                    \"name\": \"2\",\n                  },\n                  Object {\n                    \"name\": \"3\",\n                  },\n                ],\n                \"name\": \"1\",\n              },\n            ],\n            \"name\": \"预备知识\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"折叠节点\",\n              },\n            ],\n            \"collapse\": true,\n            \"name\": \"安装\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"选择集\",\n              },\n              Object {\n                \"name\": \"test\",\n              },\n              Object {\n                \"name\": \"绑定数据\",\n              },\n              Object {\n                \"name\": \"添加删除元素\",\n              },\n              Object {\n                \"children\": Array [\n                  Object {\n                    \"name\": \"柱形图\",\n                  },\n                  Object {\n                    \"name\": \"折线图\",\n                  },\n                  Object {\n                    \"name\": \"散点图\",\n                  },\n                ],\n                \"name\": \"简单图形\",\n              },\n              Object {\n                \"name\": \"比例尺\",\n              },\n              Object {\n                \"name\": \"生成器\",\n              },\n              Object {\n                \"name\": \"过渡\",\n              },\n            ],\n            \"left\": true,\n            \"name\": \"入门\",\n          },\n          Object {\n            \"left\": true,\n            \"name\": \"进阶\",\n          },\n          Object {\n            \"children\": Array [\n              Object {\n                \"name\": \"子节点1\",\n              },\n              Object {\n                \"name\": \"子节点2\",\n              },\n              Object {\n                \"name\": \"子节点3\",\n              },\n            ],\n            \"name\": \"一级节点\",\n          },\n        ],\n        \"name\": \"如何学习D3\",\n      },\n      \"width\": 10,\n      \"x\": 0,\n      \"y\": 142,\n    },\n    \"px\": 0,\n    \"py\": 0,\n    \"rawData\": Object {\n      \"children\": Array [\n        Object {\n          \"name\": \"HTML & CSS\",\n        },\n        Object {\n          \"name\": \"JavaScript\",\n        },\n        Object {\n          \"name\": \"DOM\",\n        },\n        Object {\n          \"name\": \"SVG\",\n        },\n        Object {\n          \"name\": \"test\ntest\",\n        },\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"2\",\n            },\n            Object {\n              \"name\": \"3\",\n            },\n          ],\n          \"name\": \"1\",\n        },\n      ],\n      \"name\": \"预备知识\",\n    },\n    \"width\": 10,\n    \"x\": 94,\n    \"y\": 79,\n  },\n  \"px\": 0,\n  \"py\": 0,\n  \"rawData\": Object {\n    \"children\": Array [\n      Object {\n        \"name\": \"2\",\n      },\n      Object {\n        \"name\": \"3\",\n      },\n    ],\n    \"name\": \"1\",\n  },\n  \"width\": 10,\n  \"x\": 188,\n  \"y\": 149,\n}\n`;\n\nexports[`思维导图数据-单元测试 给目标节点添加新父节点 添加成功 1`] = `\nObject {\n  \"_children\": Array [],\n  \"children\": Array [\n    Object {\n      \"_children\": Array [],\n      \"children\": Array [\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 3,\n          \"dx\": 94,\n          \"dy\": -56,\n          \"gKey\": 3,\n          \"height\": 10,\n          \"id\": \"0-0-0-0\",\n          \"left\": false,\n          \"name\": \"HTML & CSS\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"HTML & CSS\",\n          },\n          \"width\": 10,\n          \"x\": 282,\n          \"y\": 9,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 3,\n          \"dx\": 94,\n          \"dy\": -28,\n          \"gKey\": 4,\n          \"height\": 10,\n          \"id\": \"0-0-0-1\",\n          \"left\": false,\n          \"name\": \"JavaScript\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"JavaScript\",\n          },\n          \"width\": 10,\n          \"x\": 282,\n          \"y\": 37,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 3,\n          \"dx\": 94,\n          \"dy\": 0,\n          \"gKey\": 5,\n          \"height\": 10,\n          \"id\": \"0-0-0-2\",\n          \"left\": false,\n          \"name\": \"DOM\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"DOM\",\n          },\n          \"width\": 10,\n          \"x\": 282,\n          \"y\": 65,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 3,\n          \"dx\": 94,\n          \"dy\": 28,\n          \"gKey\": 6,\n          \"height\": 10,\n          \"id\": \"0-0-0-3\",\n          \"left\": false,\n          \"name\": \"SVG\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"SVG\",\n          },\n          \"width\": 10,\n          \"x\": 282,\n          \"y\": 93,\n        },\n        Object {\n          \"_children\": Array [],\n          \"children\": Array [],\n          \"collapse\": false,\n          \"color\": \"#a6cee3\",\n          \"depth\": 3,\n          \"dx\": 94,\n          \"dy\": 56,\n          \"gKey\": 7,\n          \"height\": 10,\n          \"id\": \"0-0-0-4\",\n          \"left\": false,\n          \"name\": \"test\ntest\",\n          \"parent\": [Circular],\n          \"px\": 0,\n          \"py\": 0,\n          \"rawData\": Object {\n            \"name\": \"test\ntest\",\n          },\n          \"width\": 10,\n          \"x\": 282,\n          \"y\": 121,\n        },\n      ],\n      \"collapse\": false,\n      \"color\": \"#a6cee3\",\n      \"depth\": 2,\n      \"dx\": 94,\n      \"dy\": 0,\n      \"gKey\": 2,\n      \"height\": 10,\n      \"id\": \"0-0-0\",\n      \"left\": false,\n      \"name\": \"预备知识\",\n      \"parent\": [Circular],\n      \"px\": 0,\n      \"py\": 0,\n      \"rawData\": Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"HTML & CSS\",\n          },\n          Object {\n            \"name\": \"JavaScript\",\n          },\n          Object {\n            \"name\": \"DOM\",\n          },\n          Object {\n            \"name\": \"SVG\",\n          },\n          Object {\n            \"name\": \"test\ntest\",\n          },\n        ],\n        \"name\": \"预备知识\",\n      },\n      \"width\": 10,\n      \"x\": 188,\n      \"y\": 65,\n    },\n  ],\n  \"collapse\": false,\n  \"color\": \"#a6cee3\",\n  \"depth\": 1,\n  \"dx\": 94,\n  \"dy\": -28,\n  \"gKey\": 27,\n  \"height\": 10,\n  \"id\": \"0-0\",\n  \"left\": false,\n  \"name\": \"新父节点\",\n  \"parent\": Object {\n    \"_children\": Array [],\n    \"children\": Array [\n      [Circular],\n      Object {\n        \"_children\": Array [\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#1f78b4\",\n            \"depth\": 2,\n            \"dx\": 0,\n            \"dy\": 0,\n            \"gKey\": 9,\n            \"height\": 10,\n            \"id\": \"0-1-0\",\n            \"left\": false,\n            \"name\": \"折叠节点\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"折叠节点\",\n            },\n            \"width\": 10,\n            \"x\": 0,\n            \"y\": 0,\n          },\n        ],\n        \"children\": Array [],\n        \"collapse\": true,\n        \"color\": \"#1f78b4\",\n        \"depth\": 1,\n        \"dx\": 94,\n        \"dy\": 0,\n        \"gKey\": 8,\n        \"height\": 10,\n        \"id\": \"0-1\",\n        \"left\": false,\n        \"name\": \"安装\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"折叠节点\",\n            },\n          ],\n          \"collapse\": true,\n          \"name\": \"安装\",\n        },\n        \"width\": 10,\n        \"x\": 94,\n        \"y\": 93,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": -98,\n            \"gKey\": 11,\n            \"height\": 10,\n            \"id\": \"0-2-0\",\n            \"left\": true,\n            \"name\": \"选择集\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"选择集\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": -19,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": -70,\n            \"gKey\": 12,\n            \"height\": 10,\n            \"id\": \"0-2-1\",\n            \"left\": true,\n            \"name\": \"test\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"test\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 9,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": -42,\n            \"gKey\": 13,\n            \"height\": 10,\n            \"id\": \"0-2-2\",\n            \"left\": true,\n            \"name\": \"绑定数据\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"绑定数据\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 37,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": -14,\n            \"gKey\": 14,\n            \"height\": 10,\n            \"id\": \"0-2-3\",\n            \"left\": true,\n            \"name\": \"添加删除元素\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"添加删除元素\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 65,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [\n              Object {\n                \"_children\": Array [],\n                \"children\": Array [],\n                \"collapse\": false,\n                \"color\": \"#b2df8a\",\n                \"depth\": 3,\n                \"dx\": -94,\n                \"dy\": -28,\n                \"gKey\": 16,\n                \"height\": 10,\n                \"id\": \"0-2-4-0\",\n                \"left\": true,\n                \"name\": \"柱形图\",\n                \"parent\": [Circular],\n                \"px\": 0,\n                \"py\": 0,\n                \"rawData\": Object {\n                  \"name\": \"柱形图\",\n                },\n                \"width\": 10,\n                \"x\": -272,\n                \"y\": 65,\n              },\n              Object {\n                \"_children\": Array [],\n                \"children\": Array [],\n                \"collapse\": false,\n                \"color\": \"#b2df8a\",\n                \"depth\": 3,\n                \"dx\": -94,\n                \"dy\": 0,\n                \"gKey\": 17,\n                \"height\": 10,\n                \"id\": \"0-2-4-1\",\n                \"left\": true,\n                \"name\": \"折线图\",\n                \"parent\": [Circular],\n                \"px\": 0,\n                \"py\": 0,\n                \"rawData\": Object {\n                  \"name\": \"折线图\",\n                },\n                \"width\": 10,\n                \"x\": -272,\n                \"y\": 93,\n              },\n              Object {\n                \"_children\": Array [],\n                \"children\": Array [],\n                \"collapse\": false,\n                \"color\": \"#b2df8a\",\n                \"depth\": 3,\n                \"dx\": -94,\n                \"dy\": 28,\n                \"gKey\": 18,\n                \"height\": 10,\n                \"id\": \"0-2-4-2\",\n                \"left\": true,\n                \"name\": \"散点图\",\n                \"parent\": [Circular],\n                \"px\": 0,\n                \"py\": 0,\n                \"rawData\": Object {\n                  \"name\": \"散点图\",\n                },\n                \"width\": 10,\n                \"x\": -272,\n                \"y\": 121,\n              },\n            ],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": 14,\n            \"gKey\": 15,\n            \"height\": 10,\n            \"id\": \"0-2-4\",\n            \"left\": true,\n            \"name\": \"简单图形\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"children\": Array [\n                Object {\n                  \"name\": \"柱形图\",\n                },\n                Object {\n                  \"name\": \"折线图\",\n                },\n                Object {\n                  \"name\": \"散点图\",\n                },\n              ],\n              \"name\": \"简单图形\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 93,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": 42,\n            \"gKey\": 19,\n            \"height\": 10,\n            \"id\": \"0-2-5\",\n            \"left\": true,\n            \"name\": \"比例尺\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"比例尺\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 121,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": 70,\n            \"gKey\": 20,\n            \"height\": 10,\n            \"id\": \"0-2-6\",\n            \"left\": true,\n            \"name\": \"生成器\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"生成器\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 149,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#b2df8a\",\n            \"depth\": 2,\n            \"dx\": -94,\n            \"dy\": 98,\n            \"gKey\": 21,\n            \"height\": 10,\n            \"id\": \"0-2-7\",\n            \"left\": true,\n            \"name\": \"过渡\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"过渡\",\n            },\n            \"width\": 10,\n            \"x\": -178,\n            \"y\": 177,\n          },\n        ],\n        \"collapse\": false,\n        \"color\": \"#b2df8a\",\n        \"depth\": 1,\n        \"dx\": -84,\n        \"dy\": -14,\n        \"gKey\": 10,\n        \"height\": 10,\n        \"id\": \"0-2\",\n        \"left\": true,\n        \"name\": \"入门\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"选择集\",\n            },\n            Object {\n              \"name\": \"test\",\n            },\n            Object {\n              \"name\": \"绑定数据\",\n            },\n            Object {\n              \"name\": \"添加删除元素\",\n            },\n            Object {\n              \"children\": Array [\n                Object {\n                  \"name\": \"柱形图\",\n                },\n                Object {\n                  \"name\": \"折线图\",\n                },\n                Object {\n                  \"name\": \"散点图\",\n                },\n              ],\n              \"name\": \"简单图形\",\n            },\n            Object {\n              \"name\": \"比例尺\",\n            },\n            Object {\n              \"name\": \"生成器\",\n            },\n            Object {\n              \"name\": \"过渡\",\n            },\n          ],\n          \"left\": true,\n          \"name\": \"入门\",\n        },\n        \"width\": 10,\n        \"x\": -84,\n        \"y\": 79,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [],\n        \"collapse\": false,\n        \"color\": \"#33a02c\",\n        \"depth\": 1,\n        \"dx\": -84,\n        \"dy\": 14,\n        \"gKey\": 22,\n        \"height\": 10,\n        \"id\": \"0-3\",\n        \"left\": true,\n        \"name\": \"进阶\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"left\": true,\n          \"name\": \"进阶\",\n        },\n        \"width\": 10,\n        \"x\": -84,\n        \"y\": 107,\n      },\n      Object {\n        \"_children\": Array [],\n        \"children\": Array [\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#fb9a99\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": -28,\n            \"gKey\": 24,\n            \"height\": 10,\n            \"id\": \"0-4-0\",\n            \"left\": false,\n            \"name\": \"子节点1\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"子节点1\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 93,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#fb9a99\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 0,\n            \"gKey\": 25,\n            \"height\": 10,\n            \"id\": \"0-4-1\",\n            \"left\": false,\n            \"name\": \"子节点2\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"子节点2\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 121,\n          },\n          Object {\n            \"_children\": Array [],\n            \"children\": Array [],\n            \"collapse\": false,\n            \"color\": \"#fb9a99\",\n            \"depth\": 2,\n            \"dx\": 94,\n            \"dy\": 28,\n            \"gKey\": 26,\n            \"height\": 10,\n            \"id\": \"0-4-2\",\n            \"left\": false,\n            \"name\": \"子节点3\",\n            \"parent\": [Circular],\n            \"px\": 0,\n            \"py\": 0,\n            \"rawData\": Object {\n              \"name\": \"子节点3\",\n            },\n            \"width\": 10,\n            \"x\": 188,\n            \"y\": 149,\n          },\n        ],\n        \"collapse\": false,\n        \"color\": \"#fb9a99\",\n        \"depth\": 1,\n        \"dx\": 94,\n        \"dy\": 28,\n        \"gKey\": 23,\n        \"height\": 10,\n        \"id\": \"0-4\",\n        \"left\": false,\n        \"name\": \"一级节点\",\n        \"parent\": [Circular],\n        \"px\": 0,\n        \"py\": 0,\n        \"rawData\": Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"子节点1\",\n            },\n            Object {\n              \"name\": \"子节点2\",\n            },\n            Object {\n              \"name\": \"子节点3\",\n            },\n          ],\n          \"name\": \"一级节点\",\n        },\n        \"width\": 10,\n        \"x\": 94,\n        \"y\": 121,\n      },\n    ],\n    \"collapse\": false,\n    \"color\": \"\",\n    \"depth\": 0,\n    \"dx\": 0,\n    \"dy\": 0,\n    \"gKey\": 1,\n    \"height\": 10,\n    \"id\": \"0\",\n    \"left\": false,\n    \"name\": \"如何学习D3\",\n    \"parent\": null,\n    \"px\": 0,\n    \"py\": 0,\n    \"rawData\": Object {\n      \"children\": Array [\n        Object {\n          \"children\": Array [\n            Object {\n              \"children\": Array [\n                Object {\n                  \"name\": \"HTML & CSS\",\n                },\n                Object {\n                  \"name\": \"JavaScript\",\n                },\n                Object {\n                  \"name\": \"DOM\",\n                },\n                Object {\n                  \"name\": \"SVG\",\n                },\n                Object {\n                  \"name\": \"test\ntest\",\n                },\n              ],\n              \"name\": \"预备知识\",\n            },\n          ],\n          \"left\": false,\n          \"name\": \"新父节点\",\n        },\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"折叠节点\",\n            },\n          ],\n          \"collapse\": true,\n          \"name\": \"安装\",\n        },\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"选择集\",\n            },\n            Object {\n              \"name\": \"test\",\n            },\n            Object {\n              \"name\": \"绑定数据\",\n            },\n            Object {\n              \"name\": \"添加删除元素\",\n            },\n            Object {\n              \"children\": Array [\n                Object {\n                  \"name\": \"柱形图\",\n                },\n                Object {\n                  \"name\": \"折线图\",\n                },\n                Object {\n                  \"name\": \"散点图\",\n                },\n              ],\n              \"name\": \"简单图形\",\n            },\n            Object {\n              \"name\": \"比例尺\",\n            },\n            Object {\n              \"name\": \"生成器\",\n            },\n            Object {\n              \"name\": \"过渡\",\n            },\n          ],\n          \"left\": true,\n          \"name\": \"入门\",\n        },\n        Object {\n          \"left\": true,\n          \"name\": \"进阶\",\n        },\n        Object {\n          \"children\": Array [\n            Object {\n              \"name\": \"子节点1\",\n            },\n            Object {\n              \"name\": \"子节点2\",\n            },\n            Object {\n              \"name\": \"子节点3\",\n            },\n          ],\n          \"name\": \"一级节点\",\n        },\n      ],\n      \"name\": \"如何学习D3\",\n    },\n    \"width\": 10,\n    \"x\": 0,\n    \"y\": 93,\n  },\n  \"px\": 0,\n  \"py\": 0,\n  \"rawData\": Object {\n    \"children\": Array [\n      Object {\n        \"children\": Array [\n          Object {\n            \"name\": \"HTML & CSS\",\n          },\n          Object {\n            \"name\": \"JavaScript\",\n          },\n          Object {\n            \"name\": \"DOM\",\n          },\n          Object {\n            \"name\": \"SVG\",\n          },\n          Object {\n            \"name\": \"test\ntest\",\n          },\n        ],\n        \"name\": \"预备知识\",\n      },\n    ],\n    \"left\": false,\n    \"name\": \"新父节点\",\n  },\n  \"width\": 10,\n  \"x\": 94,\n  \"y\": 65,\n}\n`;\n"
  },
  {
    "path": "src/components/Mindmap/data/__tests__/config.ts",
    "content": "export const yGap = 18\nexport const xGap = 84\n\nexport const getSize = (): { width: number, height: number } => ({ width: 10, height: 10 })"
  },
  {
    "path": "src/components/Mindmap/data/flextree/algorithm.ts",
    "content": "class Tree {\n  w: number\n  h: number\n  y: number\n  c: Tree[]\n  cs: number\n  x: number\n  prelim: number\n  mod: number\n  shift: number\n  change: number\n  tl: Tree | null\n  tr: Tree | null\n  el: Tree | null\n  er: Tree | null\n  msel: number\n  mser: number\n\n  constructor (width: number, height: number, y: number, children: Tree[]) {\n    this.w = width\n    this.h = height\n    this.y = y\n    this.c = children\n    this.cs = children.length\n\n    this.x = 0\n    this.prelim = 0\n    this.mod = 0\n    this.shift = 0\n    this.change = 0\n    this.tl = null // Left thread\n    this.tr = null // Right thread\n    this.el = null // extreme left nodes\n    this.er = null // extreme right nodes\n    // sum of modifiers at the extreme nodes\n    this.msel = 0\n    this.mser = 0\n  }\n}\n\nfunction setExtremes (tree: Tree) {\n  if (tree.cs === 0) {\n    tree.el = tree\n    tree.er = tree\n    tree.msel = tree.mser = 0\n  } else {\n    tree.el = tree.c[0].el\n    tree.msel = tree.c[0].msel\n    tree.er = tree.c[tree.cs - 1].er\n    tree.mser = tree.c[tree.cs - 1].mser\n  }\n}\n\nfunction bottom (tree: Tree) {\n  return tree.y + tree.h\n}\n\n/* A linked list of the indexes of left siblings and their lowest vertical coordinate.\n */\nclass IYL {\n  lowY: number\n  index: number\n  next: IYL | null\n  constructor (lowY: number, index: number, next: IYL | null) {\n    this.lowY = lowY\n    this.index = index\n    this.next = next\n  }\n}\n\nfunction updateIYL (minY: number, i: number, ih: IYL | null) {\n  // Remove siblings that are hidden by the new subtree.\n  while (ih !== null && minY >= ih.lowY) {\n    // Prepend the new subtree\n    ih = ih.next\n  }\n  return new IYL(minY, i, ih)\n}\n\nfunction distributeExtra (tree: Tree, i: number, si: number, distance: number) {\n  // Are there intermediate children?\n  if (si !== i - 1) {\n    const nr = i - si\n    tree.c[si + 1].shift += distance / nr\n    tree.c[i].shift -= distance / nr\n    tree.c[i].change -= distance - distance / nr\n  }\n}\n\nfunction moveSubtree (tree: Tree, i: number, si: number, distance: number) {\n  // Move subtree by changing mod.\n  tree.c[i].mod += distance\n  tree.c[i].msel += distance\n  tree.c[i].mser += distance\n  distributeExtra(tree, i, si, distance)\n}\n\nfunction nextLeftContour (tree: Tree) {\n  return tree.cs === 0 ? tree.tl : tree.c[0]\n}\n\nfunction nextRightContour (tree: Tree) {\n  return tree.cs === 0 ? tree.tr : tree.c[tree.cs - 1]\n}\n\nfunction setLeftThread (tree: Tree, i: number, cl: Tree, modsumcl: number) {\n  const li = tree.c[0].el as Tree\n  li.tl = cl\n  // Change mod so that the sum of modifier after following thread is correct.\n  const diff = (modsumcl - cl.mod) - tree.c[0].msel\n  li.mod += diff\n  // Change preliminary x coordinate so that the node does not move.\n  li.prelim -= diff\n  // Update extreme node and its sum of modifiers.\n  tree.c[0].el = tree.c[i].el\n  tree.c[0].msel = tree.c[i].msel\n}\n\n// Symmetrical to setLeftThread\nfunction setRightThread (tree: Tree, i: number, sr: Tree, modsumsr: number) {\n  const ri = tree.c[i].er as Tree\n  ri.tr = sr\n  const diff = (modsumsr - sr.mod) - tree.c[i].mser\n  ri.mod += diff\n  ri.prelim -= diff\n  tree.c[i].er = tree.c[i - 1].er\n  tree.c[i].mser = tree.c[i - 1].mser\n}\n\nfunction seperate (tree: Tree, i: number, ih: IYL) {\n  // Right contour node of left siblings and its sum of modifiers.\n  let sr: Tree | null = tree.c[i - 1]\n  let mssr = sr.mod\n  // Left contour node of right siblings and its sum of modifiers.\n  let cl: Tree | null = tree.c[i]\n  let mscl = cl.mod\n  while (sr !== null && cl !== null) {\n    if (bottom(sr) > ih.lowY) {\n      ih = ih.next as IYL\n    }\n    // How far to the left of the right side of sr is the left side of cl.\n    const distance = mssr + sr.prelim + sr.w - (mscl + cl.prelim)\n    if (distance > 0) {\n      mscl += distance\n      moveSubtree(tree, i, ih.index, distance)\n    }\n\n    const sy = bottom(sr)\n    const cy = bottom(cl)\n    if (sy <= cy) {\n      sr = nextRightContour(sr)\n      if (sr !== null) {\n        mssr += sr.mod\n      }\n    }\n    if (sy >= cy) {\n      cl = nextLeftContour(cl)\n      if (cl !== null) {\n        mscl += cl.mod\n      }\n    }\n  }\n\n  // Set threads and update extreme nodes.\n  // In the first case, the current subtree must be taller than the left siblings.\n  if (sr === null && cl !== null) {\n    setLeftThread(tree, i, cl, mscl)\n  } else if (sr !== null && cl === null) {\n    setRightThread(tree, i, sr, mssr)\n  }\n}\n\nfunction positionRoot (tree: Tree) {\n  // Position root between children, taking into account their mod.\n  tree.prelim =\n    (tree.c[0].prelim +\n      tree.c[0].mod +\n      tree.c[tree.cs - 1].mod +\n      tree.c[tree.cs - 1].prelim +\n      tree.c[tree.cs - 1].w) /\n      2 -\n    tree.w / 2\n}\n\nfunction firstWalk (tree: Tree) {\n  if (tree.cs === 0) {\n    setExtremes(tree)\n    return\n  }\n\n  firstWalk(tree.c[0])\n  let ih = updateIYL(bottom(tree.c[0].el as Tree), 0, null)\n  for (let i = 1; i < tree.cs; i++) {\n    firstWalk(tree.c[i])\n    const minY = bottom(tree.c[i].er as Tree)\n    seperate(tree, i, ih)\n    ih = updateIYL(minY, i, ih)\n  }\n  positionRoot(tree)\n  setExtremes(tree)\n}\n\nfunction addChildSpacing (tree: Tree) {\n  let d = 0\n  let modsumdelta = 0\n  for (let i = 0; i < tree.cs; i++) {\n    d += tree.c[i].shift\n    modsumdelta += d + tree.c[i].change\n    tree.c[i].mod += modsumdelta\n  }\n}\n\nfunction secondWalk (tree: Tree, modsum: number) {\n  modsum += tree.mod\n  // Set absolute (no-relative) horizontal coordinates.\n  tree.x = tree.prelim + modsum\n  addChildSpacing(tree)\n  for (let i = 0; i < tree.cs; i++) {\n    secondWalk(tree.c[i], modsum)\n  }\n}\n\nfunction layout (tree: Tree): void {\n  firstWalk(tree)\n  secondWalk(tree, 0)\n}\n\nexport { Tree, layout }\n"
  },
  {
    "path": "src/components/Mindmap/data/flextree/helper.ts",
    "content": "import { layout, Tree } from './algorithm'\n\ninterface TreeData {\n  width: number\n  height: number\n  children?: TreeData[]\n  x: number\n  y: number\n}\ninterface Box {\n  left: number\n  right: number\n  top: number\n  bottom: number\n}\n\nexport class BoundingBox {\n  gap: number\n  bottomPadding: number\n  /**\n   * @param gap - the gap between sibling nodes\n   * @param bottomPadding - the height reserved for connection drawing\n   */\n  constructor (gap: number, bottomPadding: number) {\n    this.gap = gap\n    this.bottomPadding = bottomPadding\n  }\n\n  addBoundingBox (width: number, height: number): { width: number, height: number } {\n    return { width: width + this.gap, height: height + this.bottomPadding }\n  }\n\n  /**\n   * Return the coordinate without the bounding box for a node\n   */\n  removeBoundingBox (x: number, y: number): { x: number, y: number } {\n    return { x: x + this.gap / 2, y }\n  }\n}\n\nexport class Layout {\n  bb: BoundingBox\n  constructor (boundingBox: BoundingBox) {\n    this.bb = boundingBox\n  }\n\n  /**\n   * Layout treeData.\n   * Return modified treeData and the bounding box encompassing all the nodes.\n   *\n   * See getSize() for more explanation.\n   */\n  layout<T extends TreeData> (treeData: T): { result: T, boundingBox: Box } {\n    const tree = this.convert(treeData)\n    layout(tree)\n    const { boundingBox, result } = this.assignLayout(tree, treeData)\n\n    return { result, boundingBox }\n  }\n\n  /**\n   * Returns Tree to layout, with bounding boxes added to each node.\n   */\n  convert (treeData: TreeData, y = 0): Tree {\n    const { width, height } = this.bb.addBoundingBox(\n      treeData.width,\n      treeData.height\n    )\n    const children = []\n    if (treeData.children && treeData.children.length) {\n      for (let i = 0; i < treeData.children.length; i++) {\n        children[i] = this.convert(treeData.children[i], y + height)\n      }\n    }\n\n    return new Tree(width, height, y, children)\n  }\n\n  /**\n   * Assign layout tree x, y coordinates back to treeData,\n   * with bounding boxes removed.\n   */\n  assignCoordinates (tree: Tree, treeData: TreeData): void {\n    const { x, y } = this.bb.removeBoundingBox(tree.x, tree.y)\n    treeData.x = x\n    treeData.y = y\n    for (let i = 0; i < tree.c.length; i++) {\n      this.assignCoordinates(tree.c[i], (treeData.children as TreeData[])[i])\n    }\n  }\n\n  /**\n   * Return the bounding box that encompasses all the nodes.\n   * The result has a structure of\n   * \\{ left: number, right: number, top: number, bottom: nubmer \\}.\n   * This is not the same bounding box concept as the `BoundingBox` class\n   * used to construct `Layout` class.\n   */\n  getSize (treeData: TreeData, box?: Box): Box {\n    const { x, y, width, height } = treeData\n    if (!box) {\n      box = { left: x, right: x + width, top: y, bottom: y + height }\n    }\n    box.left = Math.min(box.left, x)\n    box.right = Math.max(box.right, x + width)\n    box.top = Math.min(box.top, y)\n    box.bottom = Math.max(box.bottom, y + height)\n\n    if (treeData.children) {\n      for (const child of treeData.children) {\n        this.getSize(child, box)\n      }\n    }\n\n    return box\n  }\n\n  /**\n   * This function does assignCoordinates and getSize in one pass.\n   */\n  assignLayout<T extends TreeData> (tree: Tree, treeData: T, box?: Box): { result: T, boundingBox: Box } {\n    const { x, y } = this.bb.removeBoundingBox(tree.x, tree.y)\n    treeData.x = x\n    treeData.y = y\n\n    const { width, height } = treeData\n    if (!box) {\n      box = { left: x, right: x + width, top: y, bottom: y + height }\n    }\n    box.left = Math.min(box.left, x)\n    box.right = Math.max(box.right, x + width)\n    box.top = Math.min(box.top, y)\n    box.bottom = Math.max(box.bottom, y + height)\n\n    for (let i = 0; i < tree.c.length; i++) {\n      this.assignLayout(tree.c[i], (treeData.children as T[])[i], box)\n    }\n\n    return { result: treeData, boundingBox: box }\n  }\n}\n"
  },
  {
    "path": "src/components/Mindmap/data/flextree/index.ts",
    "content": "import { layout } from './algorithm'\nimport { BoundingBox, Layout } from './helper'\n\nexport { layout, BoundingBox, Layout }\n"
  },
  {
    "path": "src/components/Mindmap/data/index.ts",
    "content": "import emitter from '@/mitt'\nimport cloneDeep from 'lodash.clonedeep'\nimport { draw } from '../draw'\nimport { Data, IsMdata } from '../interface'\nimport { snapshot, updateTimeTravelState } from '../state'\nimport { mmcontext } from '../variable'\nimport ImData from './ImData'\n\nexport { ImData }\n\n// 思维导图数据\nexport let mmdata: ImData\nemitter.on<ImData>('mmdata', (val) => val ? mmdata = val : null)\n\nexport const afterOperation = (snap = true): void => {\n  if (snap) { snapshot.snap(mmdata.data) }\n  mmcontext.emit('update:modelValue', cloneDeep([mmdata.data.rawData]))\n  updateTimeTravelState()\n  draw()\n}\nexport const rename = (id: string, name: string): void => {\n  mmdata.rename(id, name)\n  afterOperation()\n}\nexport const moveChild = (pid: string, id: string): void => {\n  mmdata.moveChild(pid, id)\n  afterOperation()\n}\nexport const moveSibling = (id: string, referenceId: string, after = 0): void => {\n  mmdata.moveSibling(id, referenceId, after)\n  afterOperation()\n}\nexport const add = (id: string, name: string | Data): IsMdata => {\n  const d = mmdata.add(id, name)\n  afterOperation()\n  return d\n}\nexport const del = (id: string): void => {\n  mmdata.delete(id)\n  afterOperation()\n}\nexport const delOne = (id: string): void => {\n  mmdata.deleteOne(id)\n  afterOperation()\n}\nexport const expand = (id: string): void => {\n  mmdata.expand(id)\n  afterOperation()\n}\nexport const collapse = (id: string): void => {\n  mmdata.collapse(id)\n  afterOperation()\n}\nexport const addSibling = (id: string, name: string, before = false): IsMdata => {\n  const d = mmdata.addSibling(id, name, before)\n  afterOperation()\n  return d\n}\nexport const addParent = (id: string, name: string): IsMdata => {\n  const d = mmdata.addParent(id, name)\n  afterOperation()\n  return d\n}\nexport const changeLeft = (id: string): void => {\n  mmdata.changeLeft(id)\n  afterOperation()\n}"
  },
  {
    "path": "src/components/Mindmap/draw/index.ts",
    "content": "import { TspanData, Mdata, SelectionG, IsMdata } from '@/components/Mindmap/interface'\nimport * as d3 from '../d3'\nimport { attrA, attrAddBtnRect, attrExpandBtnCircle, attrExpandBtnRect, attrG, attrPath, attrText, attrTspan, getSiblingGClass, getTspanData } from '../attribute'\nimport { getAddPath, makeTransition } from '../assistant'\nimport { addBtnRect, addNodeBtn, drag, mmprops, selection } from '../variable'\nimport { mmdata } from '../data'\nimport { addAndEdit, onClickExpandBtn, onEdit, onMouseEnter, onMouseLeave, onSelect } from '../listener'\nimport style from '../css'\n\nexport const appendTspan = (\n  enter: d3.Selection<d3.EnterElement, TspanData, SVGTextElement, Mdata>\n): d3.Selection<SVGTSpanElement, TspanData, SVGTextElement, Mdata> => {\n  const tspan = enter.append('tspan')\n  attrTspan(tspan)\n  return tspan\n}\n\nexport const updateTspan = (\n  update: d3.Selection<SVGTSpanElement, TspanData, SVGTextElement, Mdata>\n): d3.Selection<SVGTSpanElement, TspanData, SVGTextElement, Mdata> => {\n  attrTspan(update)\n  return update\n}\n\nexport const appendAddBtn = (g: SelectionG): d3.Selection<SVGGElement, Mdata, SVGGElement, IsMdata> => {\n  const gAddBtn = g.append('g')\n  attrAddBtnRect(gAddBtn.append('rect'))\n  gAddBtn.append('path').attr('d', getAddPath(2, addBtnRect.side))\n  return gAddBtn\n}\n\nconst appendAndBindAddBtn = (g: SelectionG) => {\n  const gAddBtn = appendAddBtn(g)\n  gAddBtn.on('click', addAndEdit)\n  return gAddBtn\n}\n\nexport const appendExpandBtn = (g: SelectionG): d3.Selection<SVGGElement, Mdata, SVGGElement, IsMdata> => {\n  const expandBtn = g.append('g')\n  attrExpandBtnRect(expandBtn.append('rect'))\n  attrExpandBtnCircle(expandBtn.append('circle'), -4)\n  attrExpandBtnCircle(expandBtn.append('circle'), 0)\n  attrExpandBtnCircle(expandBtn.append('circle'), 4)\n  return expandBtn\n}\n\nconst bindEvent = (g: SelectionG, isRoot: boolean) => {\n  const gExpandBtn = g.select(`:scope > g.${style.content} > g.${style['expand-btn']}`)\n  gExpandBtn.on('click', onClickExpandBtn)\n  if (mmprops.value.drag || mmprops.value.edit) {\n    const gText = g.select<SVGGElement>(`:scope > g.${style.content} > g.${style.text}`)\n    gText.on('mousedown', onSelect)\n    if (mmprops.value.drag && !isRoot) { drag(gText) }\n    if (mmprops.value.edit) { gText.on('click', onEdit) }\n  }\n  if (addNodeBtn.value) {\n    g.select<SVGGElement>(`:scope > g.${style.content}`)\n      .on('mouseenter', onMouseEnter)\n      .on('mouseleave', onMouseLeave)\n  }\n}\n\nconst appendNode = (enter: d3.Selection<d3.EnterElement, Mdata, SVGGElement, IsMdata>) => {\n  const isRoot = !enter.data()[0]?.depth\n  const enterG = enter.append('g')\n  attrG(enterG)\n  // 绘制线\n  attrPath(enterG.append('path'))\n  // 节点容器\n  const gContent = enterG.append('g').attr('class', style.content)\n  const gTrigger = gContent.append('rect')\n  // 绘制文本\n  const gText = gContent.append('g').attr('class', style.text)\n  const gTextRect = gText.append('rect')\n  const text = gText.append('text')\n  attrText(text)\n  const tspan = text.selectAll('tspan').data(getTspanData).enter().append('tspan')\n  attrTspan(tspan)\n  // 绘制添加按钮\n  let gAddBtn\n  if (addNodeBtn.value) { gAddBtn = appendAndBindAddBtn(gContent) }\n  // 绘制折叠按钮\n  const gExpandBtn = appendExpandBtn(gContent)\n\n  attrA(isRoot, gTrigger, gTextRect, gExpandBtn, gAddBtn)\n\n  bindEvent(enterG, isRoot)\n\n  enterG.each((d, i) => {\n    if (!d.children) { return }\n    draw(d.children, enterG.filter((a, b) => i === b))\n  })\n  gContent.raise()\n  return enterG\n}\n\nconst updateNode = (update: SelectionG) => {\n  const isRoot = !update.data()[0]?.depth\n  const tran = makeTransition(500, d3.easePolyOut)\n  attrG(update, tran)\n  attrPath(update.select<SVGPathElement>(':scope > path'), tran)\n  const gContent = update.select<SVGGElement>(`:scope > g.${style.content}`)\n  const gTrigger = gContent.select<SVGRectElement>(':scope > rect')\n  const gText = gContent.select<SVGGElement>(`g.${style.text}`)\n  const gTextRect = gText.select<SVGRectElement>('rect')\n  const text = gText.select<SVGTextElement>('text')\n  attrText(text, tran)\n  text.selectAll<SVGTSpanElement, TspanData>('tspan')\n    .data(getTspanData)\n    .join(appendTspan, updateTspan, exit => exit.remove())\n  let gAddBtn = gContent.select<SVGGElement>(`g.${style['add-btn']}`)\n  const gExpandBtn = gContent.select<SVGGElement>(`g.${style['expand-btn']}`)\n  if (addNodeBtn.value) {\n    if (!gAddBtn.node()) { gAddBtn = appendAndBindAddBtn(gContent) }\n  } else {\n    gAddBtn.remove()\n  }\n\n  attrA(isRoot, gTrigger, gTextRect, gExpandBtn, gAddBtn)\n\n  update.each((d, i) => {\n    if (!d.children) { return }\n    draw(d.children, update.filter((a, b) => i === b))\n  })\n  gContent.raise()\n  return update\n}\n\nexport const draw = (d = [mmdata.data], sele = selection.g as d3.Selection<SVGGElement, any, any, any>): void => {\n  const temp = sele.selectAll<SVGGElement, Mdata>(`g.${getSiblingGClass(d[0]).join('.')}`)\n  temp.data(d, (d) => d.gKey).join(appendNode, updateNode)\n}"
  },
  {
    "path": "src/components/Mindmap/index.ts",
    "content": "import Mindmap from './Mindmap.vue'\nexport default Mindmap\n"
  },
  {
    "path": "src/components/Mindmap/interface.ts",
    "content": "import * as d3 from './d3'\n\nexport interface Data {\n  name: string\n  children?: Array<Data>\n  left?: boolean\n  collapse?: boolean\n}\n\nexport interface TreeData {\n  rawData: Data\n  width: number\n  height: number\n  x: number\n  y: number\n  children: TreeData[]\n  _children: TreeData[]\n  left: boolean,\n  collapse: boolean\n}\n\nexport interface Mdata {\n  rawData: Data\n  name: string\n  parent: IsMdata\n  children: Array<Mdata>\n  _children: Array<Mdata> // 当折叠时保存children数据\n  left: boolean\n  collapse: boolean\n  id: string // 代表着数据的顺序和嵌套层次\n  color: string\n  gKey: number\n  width: number\n  height: number\n  depth: number\n  x: number\n  y: number\n  dx: number\n  dy: number\n  // 拖拽时的偏移量\n  px: number\n  py: number\n}\n\nexport interface TspanData {\n  name: string,\n  height: number\n}\n\nexport type Transition = d3.Transition<d3.BaseType, Mdata, d3.BaseType, unknown>\nexport type SelectionG = d3.Selection<SVGGElement, Mdata, SVGGElement, IsMdata>\nexport type SelectionRect = d3.Selection<SVGRectElement, Mdata, SVGGElement, IsMdata>\nexport type SelectionCircle = d3.Selection<SVGCircleElement, Mdata, SVGGElement, IsMdata>\nexport type TwoNumber = [number, number]\nexport type IsMdata = Mdata | null\nexport type Locale = 'zh' | 'en' | 'ptBR'"
  },
  {
    "path": "src/components/Mindmap/listener/index.ts",
    "content": "export * from './switcher'\nexport * from './listener'"
  },
  {
    "path": "src/components/Mindmap/listener/listener.ts",
    "content": "import style from '../css'\nimport { ctm, editFlag, selection, textRectPadding, zoomTransform } from '../variable'\nimport * as d3 from '../d3'\nimport { Mdata } from '../interface'\nimport { fitView, getRelativePos, getSelectedGData, isData, moveNode, moveView, scaleView, selectGNode } from '../assistant'\nimport { add, addParent, addSibling, changeLeft, collapse, del, delOne, expand, mmdata, moveChild, moveSibling, rename } from '../data'\nimport { svgEle, gEle, foreignDivEle, wrapperEle, foreignEle } from '../variable/element'\nimport emitter from '@/mitt'\nimport { getDataId, getSiblingGClass } from '../attribute'\nimport { MenuEvent } from '../variable/contextmenu'\n\n/**\n * @param this - gContent\n */\nexport function onMouseEnter (this: SVGGElement): void {\n  const temp = this.querySelector<HTMLElement>(`g.${style['add-btn']}`)\n  if (temp) { temp.style.opacity = '1' }\n}\n\n/**\n * @param this - gContent\n */\nexport function onMouseLeave (this: SVGGElement): void {\n  const temp = this.querySelector<HTMLElement>(`g.${style['add-btn']}`)\n  if (temp) { temp.style.opacity = '0' }\n}\n\nexport const onZoomMove = (e: d3.D3ZoomEvent<SVGSVGElement, null>): void => {\n  const { g } = selection\n  if (!g) { return }\n  zoomTransform.value = e.transform\n  g.attr('transform', e.transform.toString())\n}\n\nexport const onSelect = (e: MouseEvent, d: Mdata): void => {\n  e.stopPropagation()\n  selectGNode(d)\n}\n\n/**\n * 进入编辑状态\n * @param this - gText\n */\nexport function onEdit (this: SVGGElement, _e: MouseEvent, d: Mdata): void {\n  const gNode = this.parentNode?.parentNode as SVGGElement\n  const { foreign } = selection\n  if (editFlag && foreign && foreignDivEle.value) {\n    gNode.classList.add(style.edited)\n    emitter.emit('edit-flag', false)\n    foreign.attr('x', d.x - 2 - (d.left ? d.width : 0))\n      .attr('y', d.y - mmdata.data.y - 2)\n      .attr('data-id', d.id)\n      .attr('data-name', d.name)\n      .style('display', '')\n    const div = foreignDivEle.value\n    div.textContent = d.name\n    div.focus()\n    getSelection()?.selectAllChildren(div)\n    const gContent = gNode.querySelector<SVGGElement>(`:scope > .${style.content}`)\n    if (gContent) {\n      moveView(gContent)\n    }\n  }\n}\n\nexport const onEditBlur = (): void => {\n  document.getElementsByClassName(style.edited)[0]?.classList.remove(style.edited, style.selected)\n\n  if (foreignEle.value && foreignDivEle.value) {\n    foreignEle.value.style.display = 'none'\n    const id = foreignEle.value.getAttribute('data-id')\n    const oldname = foreignEle.value.getAttribute('data-name')\n    const name = foreignDivEle.value.textContent\n    if (id && name !== null && name !== oldname) {\n      rename(id, name)\n    }\n  }\n}\n\nexport const onContextmenu = (e: MouseEvent): void => {\n  e.preventDefault()\n  if (!wrapperEle.value) { return }\n  const relativePos = getRelativePos(wrapperEle.value, e)\n  ctm.pos.value = relativePos\n  const eventTargets = e.composedPath() as SVGElement[]\n  const gNode = eventTargets.find((et) => et.classList?.contains('node'))\n  if (gNode) {\n    const { classList } = gNode\n    const isRoot = classList.contains(style.root)\n    const collapseFlag = classList.contains(style['collapse'])\n    if (!classList.contains(style.selected)) { selectGNode(gNode as SVGGElement) }\n    ctm.deleteItem.value.disabled = isRoot\n    ctm.cutItem.value.disabled = isRoot\n    ctm.deleteOneItem.value.disabled = isRoot\n    ctm.addSiblingItem.value.disabled = isRoot\n    ctm.addSiblingBeforeItem.value.disabled = isRoot\n    ctm.addParentItem.value.disabled = isRoot\n    ctm.expandItem.value.disabled = !collapseFlag\n    ctm.collapseItem.value.disabled = collapseFlag || classList.contains('leaf')\n    ctm.showViewMenu.value = false\n  } else {\n    ctm.showViewMenu.value = true\n  }\n  emitter.emit('showContextmenu', true)\n}\n\nexport const onClickMenu = (name: MenuEvent): void => {\n  switch (name) {\n    case 'zoomfit': fitView(); break\n    case 'zoomin': scaleView(true); break\n    case 'zoomout': scaleView(true); break\n    case 'add': addAndEdit(new MouseEvent('click'), getSelectedGData()); break\n    case 'delete': del(getSelectedGData().id); break\n    case 'delete-one': delOne(getSelectedGData().id); break\n    case 'collapse': collapse(getSelectedGData().id); break\n    case 'expand': expand(getSelectedGData().id); break\n    case 'add-sibling': {\n      const seleData = getSelectedGData()\n      const d = addSibling(seleData.id, '')\n      if (d) { edit(d) }\n    } break\n    case 'add-sibling-before': {\n      const seleData = getSelectedGData()\n      const d = addSibling(seleData.id, '', true)\n      if (d) { edit(d) }\n    } break\n    case 'add-parent': {\n      const seleData = getSelectedGData()\n      const d = addParent(seleData.id, '')\n      if (d) { edit(d) }\n    } break\n    case 'cut': {\n      const { id } = getSelectedGData()\n      const rawdata = mmdata.find(id)?.rawData\n      if (rawdata) {\n        // navigator.clipboard.write\n        navigator.clipboard.writeText(JSON.stringify(rawdata))\n      }\n      del(id)\n    } break\n    case 'copy': {\n      const seleData = getSelectedGData()\n      const rawdata = mmdata.find(seleData.id)?.rawData\n      if (rawdata) {\n        // navigator.clipboard.write\n        navigator.clipboard.writeText(JSON.stringify(rawdata))\n      }\n    } break\n    case 'paste': {\n      const seleData = getSelectedGData()\n      navigator.clipboard.readText().then(clipText => {\n        const rawdata = isData(clipText) || { name: clipText }\n        add(seleData.id, rawdata)\n      })\n    } break\n    default: break\n  }\n}\n\n/**\n * 添加子节点并进入编辑模式\n */\n export const addAndEdit = (e: MouseEvent, d: Mdata): void => {\n  const child = add(d.id, '')\n  if (child) { edit(child, e) }\n}\n\n/**\n * 选中节点进入编辑模式\n */\nexport function edit (d: Mdata, e = new MouseEvent('click')): void {\n  const { g } = selection\n  if (!g) { return }\n  const gText = g.selectAll<SVGGElement, Mdata>(`g[data-id='${getDataId(d)}'] > g.${style.content} > g.${style.text}`)\n  const node = gText.node()\n\n  if (node) {\n    emitter.emit('edit-flag', true)\n    onEdit.call(node, e, d)\n  }\n}\n\nexport const onClickExpandBtn = (e: MouseEvent, d: Mdata): void => {\n  expand(d.id)\n}\n\n/**\n * @param this - gText\n */\nexport function onDragMove (this: SVGGElement, e: d3.D3DragEvent<SVGGElement, Mdata, Mdata>, d: Mdata): void {\n  const gNode = this.parentNode?.parentNode as SVGGElement\n  if (svgEle.value) { svgEle.value.classList.add(style.dragging) }\n  const { g } = selection\n  if (!g) { return }\n  moveNode(gNode, d, [e.x - d.x, e.y - d.y])\n  // 鼠标相对gEle左上角的位置\n  const mousePos = d3.pointer(e, gEle.value)\n  mousePos[1] += mmdata.data.y\n\n  const temp = g.selectAll<SVGGElement, Mdata>('g.node').filter((other) => {\n    if (other !== d && other !== d.parent && !other.id.startsWith(d.id)) {\n      let diffx0 = textRectPadding\n      let diffx1 = other.width + textRectPadding\n      if (other.left && other.depth !== 0) {\n        [diffx0, diffx1] = [diffx1, diffx0]\n      }\n      const rect = {\n        x0: other.x - diffx0,\n        x1: other.x + diffx1,\n        y0: other.y - textRectPadding,\n        y1: other.y + other.height + textRectPadding\n      }\n\n      return mousePos[0] > rect.x0 && mousePos[1] > rect.y0 && mousePos[0] < rect.x1 && mousePos[1] < rect.y1\n    }\n    return false\n  })\n  const old = Array.from(document.getElementsByClassName(style.outline))\n  const n = temp.node()\n  old.forEach((o) => { if (o !== n) { o.classList.remove(style.outline) } })\n  n?.classList.add(style.outline)\n}\n\n/**\n * @param this - gText\n */\nexport function onDragEnd (this: SVGGElement, e: d3.D3DragEvent<SVGGElement, Mdata, Mdata>, d: Mdata): void {\n  const gNode = this.parentNode?.parentNode as SVGGElement\n  if (svgEle.value) { svgEle.value.classList.remove(style.dragging) }\n  // 判断是否找到了新的父节点\n  const np = document.getElementsByClassName(style.outline)[0]\n  if (np) {\n    np.classList.remove(style.outline)\n    const pid = np.getAttribute('data-id')\n    if (pid) {\n      d.px = 0\n      d.py = 0\n      moveChild(pid, d.id)\n    } else {\n      throw new Error('outline data-id null')\n    }\n    return\n  }\n  // 判断是否变换left\n  const xToCenter = d.x - mmdata.getRootWidth() / 2\n  const lr = d.depth === 1 && (xToCenter * (xToCenter + d.px) < 0)\n  const getSameSide = lr ? (a: Mdata) => a.left !== d.left : (a: Mdata) => a.left === d.left\n  // 判断是否需要调换节点顺序\n  const p = gNode.parentNode as SVGGElement\n  let downD = lr ? { y: Infinity, id: d.id } : d\n  let upD = lr ? { y: -Infinity, id: d.id } : d\n  const brothers = d3.select<SVGGElement, Mdata>(p)\n    .selectAll<SVGGElement, Mdata>(`g.${getSiblingGClass(d).join('.')}`)\n    .filter((a) => a !== d && getSameSide(a))\n  const endY = d.y + d.py\n  brothers.each((b) => {\n    if ((lr || b.y > d.y) && b.y < endY && b.y > upD.y) { upD = b } // 找新哥哥节点\n    if ((lr || b.y < d.y) && b.y > endY && b.y < downD.y) { downD = b } // 找新弟弟节点\n  })\n  if (downD.id !== d.id) {\n    d.px = 0\n    d.py = 0\n    moveSibling(d.id, downD.id)\n  } else if (upD.id !== d.id) {\n    d.px = 0\n    d.py = 0\n    moveSibling(d.id, upD.id, 1)\n  } else if (lr) {\n    d.px = 0\n    d.py = 0\n    changeLeft(d.id)\n  } else {\n    // 复原\n    moveNode(gNode, d, [0, 0], 500)\n  }\n}"
  },
  {
    "path": "src/components/Mindmap/listener/switcher.ts",
    "content": "import style from '../css'\nimport { Mdata } from '../interface'\nimport { onContextmenu, onEdit, onSelect } from './listener'\nimport { selection, zoom, drag } from '../variable'\nimport { foreignDivEle, wrapperEle } from '../variable/element'\n\nexport const switchZoom = (zoomable: boolean): void => {\n  const { svg } = selection\n  if (!svg) { return }\n  if (zoomable) {\n    zoom(svg)\n    svg.on('dblclick.zoom', null)\n  } else {\n    svg.on('.zoom', null)\n  }\n}\n\nexport const switchEdit = (editable: boolean): void => {\n  const { g } = selection\n  if (!foreignDivEle.value || !g) { return }\n  const gText = g.selectAll<SVGGElement, Mdata>(`g.${style.text}`)\n  if (editable) {\n    gText.on('click', onEdit)\n  } else {\n    gText.on('click', null)\n  }\n}\n\nexport const switchSelect = (selectable: boolean): void => {\n  const { g } = selection\n  if (!g) { return }\n  const gText = g.selectAll<SVGGElement, Mdata>(`g.${style.text}`)\n  if (selectable) {\n    gText.on('mousedown', onSelect)\n  } else {\n    gText.on('mousedown', null)\n  }\n}\n\nexport const switchContextmenu = (val: boolean): void => {\n  if (!wrapperEle.value) { return }\n  if (val) {\n    wrapperEle.value.addEventListener('contextmenu', onContextmenu)\n  } else {\n    wrapperEle.value.removeEventListener('contextmenu', onContextmenu)\n  }\n}\n\nexport const switchDrag = (draggable: boolean): void => {\n  const { g } = selection\n  if (!g) { return }\n  const gText = g.selectAll<SVGGElement, Mdata>(`g.node:not(.${style.root}) > g > g.${style.text}`)\n  if (draggable) {\n    drag(gText)\n  } else {\n    gText.on('.drag', null)\n  }\n}"
  },
  {
    "path": "src/components/Mindmap/state/Snapshot.ts",
    "content": "import { cloneDeep } from 'lodash'\n\nexport default class Snapshot<T> {\n  private length: number // 最大记录数\n  private snapshots: Array<T>\n  private cursor: number\n\n  constructor (length = 20) {\n    this.length = length\n    this.snapshots = []\n    this.cursor = -1\n  }\n\n  get hasPrev(): boolean { return this.cursor > 0 }\n  get hasNext(): boolean { return this.snapshots.length > this.cursor + 1 }\n\n  snap (data: T): void { // 记录数据快照\n    const snapshot = cloneDeep(data)\n    // 去除旧分支\n    while (this.cursor < this.snapshots.length - 1) { this.snapshots.pop() }\n    this.snapshots.push(snapshot)\n    // 确保历史记录条数限制\n    if (this.snapshots.length > this.length) { this.snapshots.shift() }\n    this.cursor = this.snapshots.length - 1\n  }\n\n  prev (): T | null {\n    if (this.hasPrev) {\n      this.cursor -= 1\n      return cloneDeep(this.snapshots[this.cursor])\n    }\n    return null\n  }\n\n  next (): T | null {\n    if (this.hasNext) {\n      this.cursor += 1\n      return cloneDeep(this.snapshots[this.cursor])\n    }\n    return null\n  }\n}"
  },
  {
    "path": "src/components/Mindmap/state/__tests__/Snapshot.test.ts",
    "content": "import Snapshot from '../Snapshot'\n\ndescribe('时间旅行测试', () => {\n  const snapshot = new Snapshot<number>()\n\n  it('记录1，此时不能撤销，不能重做，撤销返回null，重做返回null', () => {\n    snapshot.snap(1)\n    expect(snapshot.hasPrev).toBe(false)\n    expect(snapshot.hasNext).toBe(false)\n    expect(snapshot.prev()).toBeNull()\n    expect(snapshot.next()).toBeNull()\n  })\n\n  it('记录2，此时能撤销', () => {\n    snapshot.snap(2)\n    expect(snapshot.hasPrev).toBe(true)\n  })\n\n  it('撤销，返回1，此时能重做', () => {\n    const prev = snapshot.prev()\n    expect(prev).toBe(1)\n    expect(snapshot.hasNext).toBe(true)\n  })\n\n  it('重做，返回2', () => {\n    const next = snapshot.next()\n    expect(next).toBe(2)\n  })\n})"
  },
  {
    "path": "src/components/Mindmap/state/index.ts",
    "content": "import { ref } from 'vue'\nimport { Mdata } from '../interface'\nimport Snapshot from './Snapshot'\n\nexport const snapshot = new Snapshot<Mdata>()\n\n// 时间旅行状态\nexport const hasPrev = ref(false)\nexport const hasNext = ref(false)\n\nexport const updateTimeTravelState = (): void => {\n  hasPrev.value = snapshot.hasPrev\n  hasNext.value = snapshot.hasNext\n}\n"
  },
  {
    "path": "src/components/Mindmap/variable/contextmenu.ts",
    "content": "import { computed, ref, Ref } from 'vue'\nimport { mmprops, scaleExtent, zoomTransform } from '.'\n\nexport type MenuEvent = 'zoomin' | 'zoomout' | 'zoomfit' | 'add' | 'delete' |\n  'selectall' | 'collapse' | 'expand' | 'add-sibling' | 'add-sibling-before' |\n  'add-parent' | 'copy' | 'paste' | 'cut' | 'delete-one'\nexport interface MenuItem {\n  name: string\n  disabled: boolean\n}\nexport const showViewMenu = ref(true)\nexport const pos = ref({ left: 0, top: 0 })\nexport const collapseItem: Ref<MenuItem> = ref({ name: 'collapse', disabled: true })\nexport const expandItem: Ref<MenuItem> = ref({ name: 'expand', disabled: true })\nexport const deleteItem: Ref<MenuItem> = ref({ name: 'delete', disabled: false })\nexport const addItem: Ref<MenuItem> = ref({ name: 'add', disabled: false })\nexport const addParentItem: Ref<MenuItem> = ref({ name: 'add-parent', disabled: false })\nexport const addSiblingItem: Ref<MenuItem> = ref({ name: 'add-sibling', disabled: false })\nexport const addSiblingBeforeItem: Ref<MenuItem> = ref({ name: 'add-sibling-before', disabled: true })\nexport const cutItem: Ref<MenuItem> = ref({ name: 'cut', disabled: false })\nexport const copyItem: Ref<MenuItem> = ref({ name: 'copy', disabled: false })\nexport const pasteItem: Ref<MenuItem> = ref({ name: 'paste', disabled: false })\nexport const deleteOneItem: Ref<MenuItem> = ref({ name: 'delete-one', disabled: false })\n\n\nconst nodeMenu = computed<MenuItem[][]>(() => [\n  [ addItem.value, addParentItem.value, addSiblingItem.value, addSiblingBeforeItem.value ],\n  [ cutItem.value, copyItem.value, pasteItem.value, deleteItem.value, deleteOneItem.value ],\n  [ { name: 'selectall', disabled: true } ],\n  [ collapseItem.value, expandItem.value ]\n].filter((item, index) => {\n  if (index === 0 || index === 1) {\n    return mmprops.value.edit\n  } else {\n    return true\n  }\n}))\n\nconst viewMenu = computed(() => [\n  [\n    {\n      name: 'zoomin',\n      disabled: zoomTransform.value.k >= scaleExtent[1]\n    },\n    {\n      name: 'zoomout',\n      disabled: zoomTransform.value.k <= scaleExtent[0]\n    },\n    { name: 'zoomfit', disabled: false }\n  ],\n  [\n    { name: 'selectall', disabled: true }\n  ]\n])\n\nexport const menu = computed(() => showViewMenu.value ? viewMenu.value : nodeMenu.value)"
  },
  {
    "path": "src/components/Mindmap/variable/element.ts",
    "content": "import { Ref, ref } from 'vue'\n\nexport const wrapperEle: Ref<HTMLDivElement | undefined> = ref()\nexport const svgEle: Ref<SVGSVGElement | undefined> = ref()\nexport const gEle: Ref<SVGGElement | undefined> = ref()\nexport const asstSvgEle: Ref<SVGSVGElement | undefined> = ref()\nexport const foreignEle: Ref<SVGForeignObjectElement | undefined> = ref()\nexport const foreignDivEle: Ref<HTMLDivElement | undefined> = ref()"
  },
  {
    "path": "src/components/Mindmap/variable/index.ts",
    "content": "import * as d3 from '../d3'\nimport { Mdata, TwoNumber } from '../interface'\nimport emitter from '@/mitt'\nimport { Ref, ref, SetupContext } from 'vue'\nimport { onDragEnd, onDragMove, onZoomMove } from '../listener'\nimport * as selection from './selection'\nimport * as element from './element'\nimport { getDragContainer, moveView } from '../assistant'\n\nexport * as ctm from './contextmenu'\nexport { selection, element }\n\n// 连线样式\ntype CurveStepLink = ({ source, target }: { source: TwoNumber, target: TwoNumber }) => string | null\ntype Link = d3.Link<unknown, d3.DefaultLinkObject, [number, number]> | CurveStepLink\n\nconst linkHorizontal = d3.linkHorizontal().source((d) => d.source).target((d) => d.target)\nconst curveStepLine = d3.line().curve(d3.curveStep)\n\nexport const curveStepLink: CurveStepLink = ({ source, target }) => curveStepLine([source, target])\nexport let sharpCorner = false\nexport let link: Link = linkHorizontal\nexport const changeSharpCorner = ref(false) // 指示是否需要使用attrTween('d', pathTween)\nemitter.on<boolean>('sharp-corner', (value) => {\n  if (sharpCorner !== value) { changeSharpCorner.value = true }\n  sharpCorner = !!value\n  link = value ? curveStepLink : linkHorizontal\n})\n\n// 连线宽度\nexport let branch = 4\nemitter.on<number>('branch', (value) => branch = value || branch)\n\n// 缩放程度\nexport let scaleExtent: TwoNumber = [0.1, 8]\nemitter.on<TwoNumber>('scale-extent', (value) => scaleExtent = value || scaleExtent)\n\n// 可编辑指示\nexport let editFlag = false\nemitter.on<boolean>('edit-flag', (val) => editFlag = !!val)\n\n// 节点边距与间隔\nexport const rootTextRectRadius = 6\nexport const rootTextRectPadding = 10\nexport let yGap = 18\nexport let xGap = 84\nexport let textRectPadding = Math.min(yGap / 2 - 1, rootTextRectPadding)\nemitter.on<{ xGap: number, yGap: number}>('gap', (gap) => {\n  if (!gap) { return }\n  xGap = gap.xGap\n  yGap = gap.yGap\n  textRectPadding = Math.min(yGap / 2 - 1, rootTextRectPadding)\n  textRectPadding = Math.min(xGap / 2 - 1, textRectPadding)\n})\n\n/**\n * 观察foreignDiv，改变foreignObject的宽度和高度，并使其保持可见\n */\nexport const observer = new ResizeObserver((arr: ResizeObserverEntry[]) => {\n  const { foreign } = selection\n  if (!foreign) { return }\n  const temp = arr[0]\n  const foreignDiv = temp.target\n  const { width, height } = temp.contentRect\n  const pl = parseInt(getComputedStyle(foreignDiv).paddingLeft || '0', 10)\n  const b = parseInt(getComputedStyle(foreignDiv.parentNode as Element).borderTopWidth || '0', 10)\n  const gap = (pl + b) * 2\n  foreign.attr('width', width + gap).attr('height', height + gap)\n  if (foreign.style('display') !== 'none') {\n    moveView(foreignDiv)\n  }\n})\n\n// 其他\nexport const addBtnRect = { side: 12, padding: 2, margin: 8 }\nexport const addBtnSide = addBtnRect.side + addBtnRect.padding * 2\nexport const expandBtnRect = { width: 16, height: 4, radius: 2 }\nexport const zoomTransform: Ref<d3.ZoomTransform> = ref(d3.zoomIdentity)\nexport const zoom = d3.zoom<SVGSVGElement, null>().on('zoom', onZoomMove).scaleExtent(scaleExtent)\nexport const drag = d3.drag<SVGGElement, Mdata>().container(getDragContainer).on('drag', onDragMove).on('end', onDragEnd)\nexport const addNodeBtn = ref(false)\nexport let mmcontext: SetupContext\nemitter.on<SetupContext>('mindmap-context', (val) => val ? mmcontext = val : null)\nexport const mmprops = ref({\n  drag: false,\n  edit: false\n})"
  },
  {
    "path": "src/components/Mindmap/variable/selection.ts",
    "content": "import emitter from '@/mitt'\nimport * as d3 from '../d3'\n\nexport let svg: d3.Selection<SVGSVGElement, null, null, null> | undefined\nexport let g: d3.Selection<SVGGElement, null, SVGSVGElement, null> | undefined\nexport let asstSvg: d3.Selection<SVGSVGElement, unknown, null, undefined> | undefined\nexport let foreign: d3.Selection<SVGForeignObjectElement, null, null, undefined> | undefined\n\nemitter.on('selection-svg', (val) => svg = val)\nemitter.on('selection-g', (val) => g = val)\nemitter.on('selection-asstSvg', (val) => asstSvg = val)\nemitter.on('selection-foreign', (val) => foreign = val)\n"
  },
  {
    "path": "src/i18n/en.ts",
    "content": "export default {\n  translation: {\n    contextmenu: {\n      collapse: 'collapse',\n      expand: 'expand',\n      delete: 'delete',\n      'delete-one': 'delete a single node',\n      add: 'add child node',\n      'add-parent': 'add parent node',\n      'add-sibling': 'add sibling node',\n      'add-sibling-before': 'add sibling node before',\n      cut: 'cut',\n      copy: 'copy',\n      paste: 'paste',\n      selectall: 'select all',\n      zoomin: 'zoom in',\n      zoomout: 'zoom out',\n      zoomfit: 'zoom fit'\n    }\n  }\n}"
  },
  {
    "path": "src/i18n/index.ts",
    "content": "import i18next from 'i18next'\nimport zh from './zh'\nimport en from './en'\nimport ptBR from './ptBR'\n\ni18next.init({\n  fallbackLng: 'zh',\n  lng: 'zh', // if you're using a language detector, do not define the lng option\n  // debug: true,\n  resources: {\n    zh,\n    en,\n    ptBR\n  }\n})\n\nexport default i18next"
  },
  {
    "path": "src/i18n/ptBR.ts",
    "content": "export default {\n  translation: {\n    contextmenu: {\n      collapse: 'Fechar',\n      expand: 'Abrir',\n      delete: 'Excluir',\n      'delete-one': 'Excluir único nó',\n      add: 'Adicionar nó filho',\n      'add-parent': 'Adicionar nó antes',\n      'add-sibling': 'Adicionar nó abaixo',\n      'add-sibling-before': 'Adicionar nó acima',\n      cut: 'Recortar',\n      copy: 'Copiar',\n      paste: 'Colar',\n      selectall: 'Selecionar tudo',\n      zoomin: 'Aproximar',\n      zoomout: 'Retrair',\n      zoomfit: 'Centralizar'\n    }\n  }\n}"
  },
  {
    "path": "src/i18n/zh.ts",
    "content": "export default {\n  translation: {\n    contextmenu: {\n      collapse: '折叠节点',\n      expand: '展开节点',\n      delete: '删除节点',\n      'delete-one': '删除单个节点',\n      add: '新建子节点',\n      'add-parent': '新建父节点',\n      'add-sibling': '新建兄弟节点',\n      'add-sibling-before': '在此之前新建兄弟节点',\n      cut: '剪切',\n      copy: '拷贝',\n      paste: '粘贴',\n      selectall: '全选',\n      zoomin: '放大',\n      zoomout: '缩小',\n      zoomfit: '缩放至合适大小'\n    }\n  }\n}"
  },
  {
    "path": "src/learn.json",
    "content": "[\n  {\n    \"name\":\"如何学习D3\",\n    \"children\":\n    [\n      {\n        \"name\":\"预备知识\",\n        \"children\": [\n          { \"name\":\"HTML & CSS\" },\n          { \"name\":\"JavaScript\" },\n          { \"name\":\"DOM\" },\n          { \"name\":\"SVG\" },\n          { \"name\":\"test\\ntest\" }\n        ]\n      },\n      { \n        \"name\":\"安装\",\n        \"collapse\": true,\n        \"children\": [\n          { \"name\": \"折叠节点\" }\n        ]\n      },\n      {\n        \"name\":\"入门\",\n        \"children\":[\n          { \"name\":\"选择集\" },\n          { \"name\":\"test\" },\n          { \"name\":\"绑定数据\" },\n          { \"name\":\"添加删除元素\" },\n          {\n            \"name\":\"简单图形\",\n            \"children\":\n            [\n              { \"name\":\"柱形图\" },\n              { \"name\":\"折线图\" },\n              { \"name\":\"散点图\" }]\n          },\n          { \"name\":\"比例尺\" },\n          { \"name\":\"生成器\" },\n          { \"name\":\"过渡\" }\n        ],\n        \"left\": true\n      },\n      { \n        \"name\":\"进阶\",\n        \"left\": true \n      },\n      {\n        \"name\":\"一级节点\",\n        \"children\": [\n          { \"name\":\"子节点1\" },\n          { \"name\":\"子节点2\" },\n          { \"name\":\"子节点3\" }\n        ]\n      }\n    ]\n  }\n]"
  },
  {
    "path": "src/main.ts",
    "content": "import { createApp } from 'vue'\nimport App from './App.vue'\n\ncreateApp(App).mount('#app')\n"
  },
  {
    "path": "src/mitt.ts",
    "content": "import mitt from 'mitt'\nconst emitter = mitt()\nexport default emitter"
  },
  {
    "path": "src/shims-vue.d.ts",
    "content": "declare module '*.vue' {\n  import type { DefineComponent } from 'vue'\n  const component: DefineComponent<unknown, unknown, any>\n  export default component\n}\n"
  },
  {
    "path": "tsconfig.json",
    "content": "{\n  \"compilerOptions\": {\n    \"resolveJsonModule\": true,\n    \"target\": \"es5\",\n    \"module\": \"esnext\",\n    \"strict\": true,\n    \"jsx\": \"preserve\",\n    \"importHelpers\": true,\n    \"moduleResolution\": \"node\",\n    \"skipLibCheck\": true,\n    \"esModuleInterop\": true,\n    \"allowSyntheticDefaultImports\": true,\n    \"sourceMap\": true,\n    \"baseUrl\": \".\",\n    \"types\": [\n      \"resize-observer-browser\",\n      \"jest\"\n    ],\n    \"paths\": {\n      \"@/*\": [\n        \"src/*\"\n      ]\n    },\n    \"lib\": [\n      \"esnext\",\n      \"dom\",\n      \"dom.iterable\",\n      \"scripthost\"\n    ]\n  },\n  \"include\": [\n    \"src/**/*.ts\",\n    \"src/**/*.tsx\",\n    \"src/**/*.vue\",\n    \"tests/**/*.ts\",\n    \"tests/**/*.tsx\"\n  ],\n  \"exclude\": [\n    \"node_modules\"\n  ]\n}\n"
  },
  {
    "path": "tsconfig.lib.json",
    "content": "{\n  \"compilerOptions\": {\n    \"moduleResolution\": \"node\",\n    \"target\": \"es2020\",\n    \"declaration\": true,\n    \"allowJs\": true,\n    \"emitDeclarationOnly\": true\n  },\n  \"include\": [\n    \"./dist/*.js\"\n  ]\n}"
  },
  {
    "path": "vite-lib.config.ts",
    "content": "import { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\nimport path from 'path'\nimport stringHash from 'string-hash'\n\n// https://vitejs.dev/config/\nexport default defineConfig({\n  resolve: {\n    alias: [\n      { find: '@', replacement: path.resolve(__dirname, './src') }\n    ]\n  },\n  plugins: [vue()],\n  build: {\n    lib: {\n      entry: path.resolve(__dirname, './src/components/Mindmap'),\n      name: 'mindmap'\n    },\n    rollupOptions: {\n      // 请确保外部化那些你的库中不需要的依赖\n      external: ['vue'],\n      output: {\n        // 在 UMD 构建模式下为这些外部化的依赖提供一个全局变量\n        globals: {\n          vue: 'Vue'\n        }\n      }\n    }\n  },\n  css: {\n    modules: {\n      generateScopedName: (name, filename, css) => {\n        const f = filename.split('?')[0].split('.')[0]\n        const file = path.basename(f)\n        const hash = stringHash(css).toString(36).substr(0, 5);\n        return `${file}_${name}_${hash}`\n      }\n    }\n  }\n})\n"
  },
  {
    "path": "vite.config.ts",
    "content": "import { defineConfig } from 'vite'\nimport vue from '@vitejs/plugin-vue'\nimport path from 'path'\nimport stringHash from 'string-hash'\n\n// https://vitejs.dev/config/\nexport default defineConfig({\n  resolve: {\n    alias: [\n      { find: '@', replacement: path.resolve(__dirname, './src') }\n    ]\n  },\n  plugins: [vue()],\n  base: '/vue3-mindmap/',\n  build: {\n    outDir: 'docs'\n  },\n  css: {\n    modules: {\n      generateScopedName: (name, filename, css) => {\n        const f = filename.split('?')[0].split('.')[0]\n        const file = path.basename(f)\n        const hash = stringHash(css).toString(36).substr(0, 5);\n        return `${file}_${name}_${hash}`\n      }\n    }\n  }\n})\n"
  }
]