{"version":3,"sources":["jsdelivr-header.js","/npm/mind-elixir@5.10.0/dist/MindElixir.js"],"names":[],"mappings":"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","file":"/npm/mind-elixir@5.10.0/dist/MindElixir.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/mind-elixir@5.10.0/dist/MindElixir.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","const qo = 0, Uo = 1, Jo = 2, ve = {\n  name: \"Latte\",\n  type: \"light\",\n  palette: [\"#dd7878\", \"#ea76cb\", \"#8839ef\", \"#e64553\", \"#fe640b\", \"#df8e1d\", \"#40a02b\", \"#209fb5\", \"#1e66f5\", \"#7287fd\"],\n  cssVar: {\n    \"--node-gap-x\": \"30px\",\n    \"--node-gap-y\": \"10px\",\n    \"--main-gap-x\": \"65px\",\n    \"--main-gap-y\": \"45px\",\n    \"--root-radius\": \"30px\",\n    \"--main-radius\": \"20px\",\n    \"--root-color\": \"#ffffff\",\n    \"--root-bgcolor\": \"#4c4f69\",\n    \"--root-border-color\": \"rgba(0, 0, 0, 0)\",\n    \"--main-color\": \"#444446\",\n    \"--main-bgcolor\": \"#ffffff\",\n    \"--main-bgcolor-transparent\": \"rgba(255, 255, 255, 0.8)\",\n    \"--topic-padding\": \"3px\",\n    \"--color\": \"#777777\",\n    \"--bgcolor\": \"#f6f6f6\",\n    \"--selected\": \"#4dc4ff\",\n    \"--accent-color\": \"#e64553\",\n    \"--panel-color\": \"#444446\",\n    \"--panel-bgcolor\": \"#ffffff\",\n    \"--panel-border-color\": \"#eaeaea\",\n    \"--map-padding\": \"50px 80px\"\n  }\n}, we = {\n  name: \"Dark\",\n  type: \"dark\",\n  palette: [\"#848FA0\", \"#748BE9\", \"#D2F9FE\", \"#4145A5\", \"#789AFA\", \"#706CF4\", \"#EF987F\", \"#775DD5\", \"#FCEECF\", \"#DA7FBC\"],\n  cssVar: {\n    \"--node-gap-x\": \"30px\",\n    \"--node-gap-y\": \"10px\",\n    \"--main-gap-x\": \"65px\",\n    \"--main-gap-y\": \"45px\",\n    \"--root-radius\": \"30px\",\n    \"--main-radius\": \"20px\",\n    \"--root-color\": \"#ffffff\",\n    \"--root-bgcolor\": \"#2d3748\",\n    \"--root-border-color\": \"rgba(255, 255, 255, 0.1)\",\n    \"--main-color\": \"#ffffff\",\n    \"--main-bgcolor\": \"#4c4f69\",\n    \"--main-bgcolor-transparent\": \"rgba(76, 79, 105, 0.8)\",\n    \"--topic-padding\": \"3px\",\n    \"--color\": \"#cccccc\",\n    \"--bgcolor\": \"#252526\",\n    \"--selected\": \"#4dc4ff\",\n    \"--accent-color\": \"#789AFA\",\n    \"--panel-color\": \"#ffffff\",\n    \"--panel-bgcolor\": \"#2d3748\",\n    \"--panel-border-color\": \"#696969\",\n    \"--map-padding\": \"50px 80px\"\n  }\n};\nfunction me(e) {\n  return e.replace(/&/g, \"&amp;\").replace(/</g, \"&lt;\").replace(/\"/g, \"&quot;\");\n}\nconst le = function(e, t) {\n  if (t.id === e)\n    return t;\n  if (t.children && t.children.length) {\n    for (let n = 0; n < t.children.length; n++) {\n      const o = le(e, t.children[n]);\n      if (o) return o;\n    }\n    return null;\n  } else\n    return null;\n}, V = (e, t) => {\n  if (e.parent = t, e.children)\n    for (let n = 0; n < e.children.length; n++)\n      V(e.children[n], e);\n}, U = (e, t, n) => {\n  if (e.expanded = t, e.children)\n    if (n === void 0 || n > 0) {\n      const o = n !== void 0 ? n - 1 : void 0;\n      e.children.forEach((s) => {\n        U(s, t, o);\n      });\n    } else\n      e.children.forEach((o) => {\n        U(o, !1);\n      });\n};\nfunction xe(e) {\n  if (e.id = z(), e.children)\n    for (let t = 0; t < e.children.length; t++)\n      xe(e.children[t]);\n}\nfunction ce(e, t, n, o) {\n  const s = n - e, i = o - t, c = Math.atan2(i, s) * 180 / Math.PI, r = 12, a = 30, d = (c + 180 - a) * Math.PI / 180, h = (c + 180 + a) * Math.PI / 180;\n  return {\n    x1: n + Math.cos(d) * r,\n    y1: o + Math.sin(d) * r,\n    x2: n + Math.cos(h) * r,\n    y2: o + Math.sin(h) * r\n  };\n}\nfunction z() {\n  return ((/* @__PURE__ */ new Date()).getTime().toString(16) + Math.random().toString(16).substring(2)).substring(2, 18);\n}\nconst ut = function() {\n  const e = z();\n  return {\n    topic: this.newTopicName,\n    id: e\n  };\n};\nfunction Ee(e) {\n  return JSON.parse(\n    JSON.stringify(e, (n, o) => {\n      if (n !== \"parent\")\n        return o;\n    })\n  );\n}\nconst H = (e, t) => {\n  let n = 0, o = 0;\n  for (; t && t !== e; )\n    n += t.offsetLeft, o += t.offsetTop, t = t.offsetParent;\n  return { offsetLeft: n, offsetTop: o };\n}, D = (e, t) => {\n  for (const n in t)\n    e.setAttribute(n, t[n]);\n}, re = (e) => e ? e.tagName === \"ME-TPC\" : !1, Ce = (e) => e.filter((t) => t.nodeObj.parent).filter((t, n, o) => {\n  for (let s = 0; s < o.length; s++) {\n    if (t === o[s]) continue;\n    const { parent: i } = t.nodeObj;\n    if (i === o[s].nodeObj)\n      return !1;\n  }\n  return !0;\n}), Se = (e) => {\n  const t = /translate3d\\(([^,]+),\\s*([^,]+)/, n = e.match(t);\n  return n ? { x: parseFloat(n[1]), y: parseFloat(n[2]) } : { x: 0, y: 0 };\n}, Je = function(e) {\n  for (let t = 0; t < e.length; t++) {\n    const { dom: n, evt: o, func: s } = e[t];\n    n.addEventListener(o, s);\n  }\n  return function() {\n    for (let n = 0; n < e.length; n++) {\n      const { dom: o, evt: s, func: i } = e[n];\n      o.removeEventListener(s, i);\n    }\n  };\n}, Pe = (e, t) => {\n  const n = e.x - t.x, o = e.y - t.y;\n  return Math.sqrt(n * n + o * o);\n}, B = {\n  LHS: \"lhs\",\n  RHS: \"rhs\"\n}, pt = function() {\n  this.nodes.innerHTML = \"\";\n  const e = this.createTopic(this.nodeData);\n  Ne.call(this, e, this.nodeData), e.draggable = !1;\n  const t = document.createElement(\"me-root\");\n  t.appendChild(e);\n  const n = this.nodeData.children || [];\n  if (this.direction === 2) {\n    let o = 0, s = 0;\n    n.map((i) => {\n      i.direction === 0 ? o += 1 : i.direction === 1 ? s += 1 : o <= s ? (i.direction = 0, o += 1) : (i.direction = 1, s += 1);\n    });\n  }\n  gt(this, n, t);\n}, gt = function(e, t, n) {\n  const o = document.createElement(\"me-main\");\n  o.className = B.LHS;\n  const s = document.createElement(\"me-main\");\n  s.className = B.RHS;\n  for (let i = 0; i < t.length; i++) {\n    const l = t[i], { grp: c } = e.createWrapper(l);\n    e.direction === 2 ? l.direction === 0 ? o.appendChild(c) : s.appendChild(c) : e.direction === 0 ? o.appendChild(c) : s.appendChild(c);\n  }\n  e.nodes.appendChild(o), e.nodes.appendChild(n), e.nodes.appendChild(s), e.nodes.appendChild(e.lines), e.nodes.appendChild(e.labelContainer);\n}, mt = function(e, t) {\n  const n = document.createElement(\"me-children\");\n  for (let o = 0; o < t.length; o++) {\n    const s = t[o], { grp: i } = e.createWrapper(s);\n    n.appendChild(i);\n  }\n  return n;\n}, Ze = function(e, t) {\n  const o = (this?.el ? this.el : t || document).querySelector(`[data-nodeid=\"me${e}\"]`);\n  if (!o) throw new Error(`FindEle: Node ${e} not found, maybe it's collapsed.`);\n  return o;\n}, Ne = function(e, t) {\n  if (e.innerHTML = \"\", t.style) {\n    const n = t.style;\n    for (const o in n)\n      e.style[o] = n[o];\n  }\n  if (t.dangerouslySetInnerHTML) {\n    e.innerHTML = t.dangerouslySetInnerHTML;\n    return;\n  }\n  if (t.image) {\n    const n = t.image;\n    if (n.url && n.width && n.height) {\n      const o = document.createElement(\"img\");\n      o.src = this.imageProxy ? this.imageProxy(n.url) : n.url, o.style.width = n.width + \"px\", o.style.height = n.height + \"px\", n.fit && (o.style.objectFit = n.fit), e.appendChild(o), e.image = o;\n    }\n  } else e.image && (e.image = void 0);\n  {\n    const n = document.createElement(\"span\");\n    n.className = \"text\", this.markdown ? n.innerHTML = this.markdown(t.topic, t) : n.textContent = t.topic, e.appendChild(n), e.text = n;\n  }\n  if (t.hyperLink) {\n    const n = document.createElement(\"a\");\n    n.className = \"hyper-link\", n.target = \"_blank\", n.innerText = \"🔗\", n.href = t.hyperLink, e.appendChild(n), e.link = n;\n  } else e.link && (e.link = void 0);\n  if (t.icons && t.icons.length) {\n    const n = document.createElement(\"span\");\n    n.className = \"icons\", n.innerHTML = t.icons.map((o) => `<span>${me(o)}</span>`).join(\"\"), e.appendChild(n), e.icons = n;\n  } else e.icons && (e.icons = void 0);\n  if (t.tags && t.tags.length) {\n    const n = document.createElement(\"div\");\n    n.className = \"tags\", t.tags.forEach((o) => {\n      const s = document.createElement(\"span\");\n      typeof o == \"string\" ? s.textContent = o : (s.textContent = o.text, o.className && (s.className = o.className), o.style && Object.assign(s.style, o.style)), n.appendChild(s);\n    }), e.appendChild(n), e.tags = n;\n  } else e.tags && (e.tags = void 0);\n}, yt = function(e, t) {\n  const n = document.createElement(\"me-wrapper\"), { p: o, tpc: s } = this.createParent(e);\n  if (n.appendChild(o), !t && e.children && e.children.length > 0) {\n    const i = Te(e.expanded);\n    if (o.appendChild(i), e.expanded !== !1) {\n      const l = mt(this, e.children);\n      n.appendChild(l);\n    }\n  }\n  return { grp: n, top: o, tpc: s };\n}, bt = function(e) {\n  const t = document.createElement(\"me-parent\"), n = this.createTopic(e);\n  return Ne.call(this, n, e), t.appendChild(n), { p: t, tpc: n };\n}, vt = function(e) {\n  const t = document.createElement(\"me-children\");\n  return t.append(...e), t;\n}, wt = function(e) {\n  const t = document.createElement(\"me-tpc\");\n  return t.nodeObj = e, t.dataset.nodeid = \"me\" + e.id, t;\n};\nfunction Qe(e) {\n  const t = document.createRange();\n  t.selectNodeContents(e);\n  const n = window.getSelection();\n  n && (n.removeAllRanges(), n.addRange(t));\n}\nconst xt = function(e) {\n  if (!e) return;\n  const t = document.createElement(\"div\"), n = e.nodeObj, o = n.topic, { offsetLeft: s, offsetTop: i } = H(this.nodes, e);\n  this.nodes.appendChild(t), t.id = \"input-box\", t.textContent = o, t.contentEditable = \"plaintext-only\", t.spellcheck = !1;\n  const l = getComputedStyle(e);\n  t.style.cssText = `\n  left: ${s}px;\n  top: ${i}px;\n  min-width:${e.offsetWidth - 8}px;\n  color:${l.color};\n  font-size:${l.fontSize};\n  padding:${l.padding};\n  margin:${l.margin}; \n  background-color:${l.backgroundColor !== \"rgba(0, 0, 0, 0)\" && l.backgroundColor};\n  border: ${l.border};\n  border-radius:${l.borderRadius}; `, this.direction === 0 && (t.style.right = \"0\"), Qe(t), this.bus.fire(\"operation\", {\n    name: \"beginEdit\",\n    obj: e.nodeObj\n  }), t.addEventListener(\"keydown\", (c) => {\n    c.stopPropagation();\n    const r = c.key;\n    if (r === \"Enter\" || r === \"Tab\") {\n      if (c.shiftKey) return;\n      c.preventDefault(), t.blur(), this.container.focus();\n    } else r === \"Escape\" && (c.preventDefault(), t.textContent = o, t.blur(), this.container.focus());\n  }), t.addEventListener(\"blur\", () => {\n    if (!t) return;\n    t.remove();\n    const c = t.innerText?.trim() || \"\";\n    c === o || c === \"\" || (n.topic = c, this.markdown ? e.text.innerHTML = this.markdown(n.topic, n) : e.text.textContent = c, this.linkDiv(), this.bus.fire(\"operation\", {\n      name: \"finishEdit\",\n      obj: n,\n      origin: o\n    }));\n  });\n}, Te = function(e) {\n  const t = document.createElement(\"me-epd\");\n  return t.expanded = e !== !1, t.className = e !== !1 ? \"minus\" : \"\", t;\n}, J = (e) => {\n  const t = e.parent?.children, n = t?.indexOf(e) ?? 0;\n  return { siblings: t, index: n };\n};\nfunction Et(e) {\n  const { siblings: t, index: n } = J(e);\n  if (t === void 0) return;\n  const o = t[n];\n  n === 0 ? (t[n] = t[t.length - 1], t[t.length - 1] = o) : (t[n] = t[n - 1], t[n - 1] = o);\n}\nfunction Ct(e) {\n  const { siblings: t, index: n } = J(e);\n  if (t === void 0) return;\n  const o = t[n];\n  n === t.length - 1 ? (t[n] = t[0], t[0] = o) : (t[n] = t[n + 1], t[n + 1] = o);\n}\nfunction et(e) {\n  const { siblings: t, index: n } = J(e);\n  return t === void 0 ? 0 : (t.splice(n, 1), t.length);\n}\nfunction St(e, t, n) {\n  const { siblings: o, index: s } = J(n);\n  o !== void 0 && (t === \"before\" ? o.splice(s, 0, e) : o.splice(s + 1, 0, e));\n}\nfunction Nt(e, t) {\n  const { siblings: n, index: o } = J(e);\n  n !== void 0 && (n[o] = t, t.children = [e]);\n}\nfunction Tt(e, t, n) {\n  if (et(t), n.parent?.parent || (t.direction = n.direction), e === \"in\")\n    n.children ? n.children.push(t) : n.children = [t];\n  else {\n    t.direction !== void 0 && (t.direction = n.direction);\n    const { siblings: o, index: s } = J(n);\n    if (o === void 0) return;\n    e === \"before\" ? o.splice(s, 0, t) : o.splice(s + 1, 0, t);\n  }\n}\nconst _t = function({ map: e, direction: t }, n) {\n  if (t === 0)\n    return 0;\n  if (t === 1)\n    return 1;\n  if (t === 2) {\n    const o = e.querySelector(\".lhs\")?.childElementCount || 0, s = e.querySelector(\".rhs\")?.childElementCount || 0;\n    return o <= s ? (n.direction = 0, 0) : (n.direction = 1, 1);\n  }\n}, tt = function(e, t, n) {\n  const o = n.children[0].children[0], s = t.parentElement;\n  if (s.tagName === \"ME-PARENT\") {\n    if (ee(o), s.children[1])\n      s.nextSibling.appendChild(n);\n    else {\n      const i = e.createChildren([n]);\n      s.appendChild(Te(!0)), s.insertAdjacentElement(\"afterend\", i);\n    }\n    e.linkDiv(n.offsetParent);\n  } else s.tagName === \"ME-ROOT\" && (_t(e, o.nodeObj) === 0 ? e.container.querySelector(\".lhs\")?.appendChild(n) : e.container.querySelector(\".rhs\")?.appendChild(n), e.linkDiv());\n}, kt = function(e, t) {\n  const n = e.parentNode;\n  if (t === 0) {\n    const o = n.parentNode.parentNode;\n    o.tagName !== \"ME-MAIN\" && (o.previousSibling.children[1].remove(), o.remove());\n  }\n  n.parentNode.remove();\n}, nt = {\n  before: \"beforebegin\",\n  after: \"afterend\"\n}, ee = function(e) {\n  const n = e.parentElement.parentElement.lastElementChild;\n  n?.tagName === \"svg\" && n?.remove();\n}, Lt = function(e, t) {\n  const n = e.nodeObj, o = Ee(n);\n  o.style && t.style && (t.style = Object.assign(o.style, t.style));\n  const s = Object.assign(n, t);\n  Ne.call(this, e, s), this.linkDiv(), this.bus.fire(\"operation\", {\n    name: \"reshapeNode\",\n    obj: s,\n    origin: o\n  });\n}, _e = function(e, t, n) {\n  if (!t) return null;\n  const o = t.nodeObj;\n  o.expanded === !1 && (e.expandNode(t, !0), t = e.findEle(o.id));\n  const s = n || e.generateNewObj();\n  o.children ? o.children.push(s) : o.children = [s], V(e.nodeData);\n  const { grp: i, top: l } = e.createWrapper(s);\n  return tt(e, t, i), { newTop: l, newNodeObj: s };\n}, Dt = function(e, t, n) {\n  const o = t || this.currentNode;\n  if (!o) return;\n  const s = o.nodeObj;\n  if (s.parent) {\n    if (!s.parent?.parent && this.direction === 2) {\n      const a = this.map.querySelector(\".lhs\")?.childElementCount || 0, d = this.map.querySelector(\".rhs\")?.childElementCount || 0;\n      if (!a || !d) {\n        this.addChild(this.findEle(s.parent.id), n);\n        return;\n      }\n    }\n  } else {\n    this.addChild();\n    return;\n  }\n  const i = n || this.generateNewObj();\n  if (!s.parent?.parent) {\n    const a = o.closest(\"me-main\").className === B.LHS ? 0 : 1;\n    i.direction = a;\n  }\n  St(i, e, s), V(this.nodeData);\n  const l = o.parentElement, { grp: c, top: r } = this.createWrapper(i);\n  l.parentElement.insertAdjacentElement(nt[e], c), this.linkDiv(c.offsetParent), n || this.editTopic(r.firstChild), this.bus.fire(\"operation\", {\n    name: \"insertSibling\",\n    type: e,\n    obj: i\n  }), this.selectNode(r.firstChild, !0);\n}, At = function(e, t) {\n  const n = e || this.currentNode;\n  if (!n) return;\n  ee(n);\n  const o = n.nodeObj;\n  if (!o.parent)\n    return;\n  const s = t || this.generateNewObj();\n  Nt(o, s), V(this.nodeData);\n  const i = n.parentElement.parentElement, { grp: l, top: c } = this.createWrapper(s, !0);\n  c.appendChild(Te(!0)), i.insertAdjacentElement(\"afterend\", l);\n  const r = this.createChildren([i]);\n  c.insertAdjacentElement(\"afterend\", r), this.linkDiv(), t || this.editTopic(c.firstChild), this.selectNode(c.firstChild, !0), this.bus.fire(\"operation\", {\n    name: \"insertParent\",\n    obj: s\n  });\n}, Mt = function(e, t) {\n  const n = e || this.currentNode;\n  if (!n) return;\n  const o = _e(this, n, t);\n  if (!o) return;\n  const { newTop: s, newNodeObj: i } = o;\n  this.bus.fire(\"operation\", {\n    name: \"addChild\",\n    obj: i\n  }), t || this.editTopic(s.firstChild), this.selectNode(s.firstChild, !0);\n}, Pt = function(e, t) {\n  const n = Ee(e.nodeObj);\n  xe(n);\n  const o = _e(this, t, n);\n  if (!o) return;\n  const { newNodeObj: s } = o;\n  this.selectNode(this.findEle(s.id)), this.bus.fire(\"operation\", {\n    name: \"copyNode\",\n    obj: s\n  });\n}, Ot = function(e, t) {\n  const n = [];\n  for (let o = 0; o < e.length; o++) {\n    const s = e[o], i = Ee(s.nodeObj);\n    xe(i);\n    const l = _e(this, t, i);\n    if (!l) return;\n    const { newNodeObj: c } = l;\n    n.push(c);\n  }\n  this.unselectNodes(this.currentNodes), this.selectNodes(n.map((o) => this.findEle(o.id))), this.bus.fire(\"operation\", {\n    name: \"copyNodes\",\n    objs: n\n  });\n}, $t = function(e) {\n  const t = e || this.currentNode;\n  if (!t) return;\n  const n = t.nodeObj;\n  Et(n);\n  const o = t.parentNode.parentNode;\n  o.parentNode.insertBefore(o, o.previousSibling), this.linkDiv(), this.bus.fire(\"operation\", {\n    name: \"moveUpNode\",\n    obj: n\n  });\n}, Ht = function(e) {\n  const t = e || this.currentNode;\n  if (!t) return;\n  const n = t.nodeObj;\n  Ct(n);\n  const o = t.parentNode.parentNode;\n  o.nextSibling ? o.nextSibling.insertAdjacentElement(\"afterend\", o) : o.parentNode.prepend(o), this.linkDiv(), this.bus.fire(\"operation\", {\n    name: \"moveDownNode\",\n    obj: n\n  });\n}, jt = function(e) {\n  if (e = Ce(e), e.length === 0) return;\n  for (const n of e) {\n    const o = n.nodeObj, s = et(o);\n    kt(n, s);\n  }\n  const t = e[e.length - 1];\n  this.selectNode(this.findEle(t.nodeObj.parent.id)), this.linkDiv(), this.bus.fire(\"operation\", {\n    name: \"removeNodes\",\n    objs: e.map((n) => n.nodeObj)\n  });\n}, ke = (e, t, n, o) => {\n  e = Ce(e);\n  let s = n.nodeObj;\n  t === \"in\" && s.expanded === !1 && (o.expandNode(n, !0), n = o.findEle(s.id), s = n.nodeObj), t === \"after\" && (e = e.reverse());\n  const i = [];\n  for (const c of e) {\n    const r = c.nodeObj;\n    if (Tt(t, r, s), V(o.nodeData), t === \"in\") {\n      const a = c.parentElement;\n      tt(o, n, a.parentElement);\n    } else {\n      ee(c);\n      const a = c.parentElement.parentNode;\n      i.includes(a.parentElement) || i.push(a.parentElement), n.parentElement.parentNode.insertAdjacentElement(nt[t], a);\n    }\n  }\n  for (const c of i)\n    c.childElementCount === 0 && c.tagName !== \"ME-MAIN\" && (c.previousSibling.children[1].remove(), c.remove());\n  o.linkDiv(), o.scrollIntoView(e[e.length - 1]);\n  const l = t === \"before\" ? \"moveNodeBefore\" : t === \"after\" ? \"moveNodeAfter\" : \"moveNodeIn\";\n  o.bus.fire(\"operation\", {\n    name: l,\n    objs: e.map((c) => c.nodeObj),\n    toObj: s\n  });\n}, It = function(e, t) {\n  ke(e, \"in\", t, this);\n}, Rt = function(e, t) {\n  ke(e, \"before\", t, this);\n}, Bt = function(e, t) {\n  ke(e, \"after\", t, this);\n}, Yt = function(e) {\n  const t = e || this.currentNode;\n  t && (t.nodeObj.dangerouslySetInnerHTML || this.editTopic(t));\n}, Wt = function(e, t) {\n  e.text.textContent = t, e.nodeObj.topic = t, this.linkDiv();\n}, ot = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n  __proto__: null,\n  addChild: Mt,\n  beginEdit: Yt,\n  copyNode: Pt,\n  copyNodes: Ot,\n  insertParent: At,\n  insertSibling: Dt,\n  moveDownNode: Ht,\n  moveNodeAfter: Bt,\n  moveNodeBefore: Rt,\n  moveNodeIn: It,\n  moveUpNode: $t,\n  removeNodes: jt,\n  reshapeNode: Lt,\n  rmSubline: ee,\n  setNodeTopic: Wt\n}, Symbol.toStringTag, { value: \"Module\" }));\nfunction Xt(e) {\n  return {\n    nodeData: e.isFocusMode ? e.nodeDataBackup : e.nodeData,\n    arrows: e.arrows,\n    summaries: e.summaries,\n    direction: e.direction,\n    theme: e.theme\n  };\n}\nconst Ft = function(e) {\n  const t = this.container, n = e.getBoundingClientRect(), o = t.getBoundingClientRect();\n  if (n.top > o.bottom - 50 || n.bottom < o.top + 50 || n.left > o.right - 50 || n.right < o.left + 50) {\n    const i = n.left + n.width / 2, l = n.top + n.height / 2, c = o.left + o.width / 2, r = o.top + o.height / 2, a = i - c, d = l - r;\n    this.move(-a, -d, !0);\n  }\n}, Gt = function(e, t, n) {\n  this.clearSelection(), this.scrollIntoView(e), this.selection?.select(e), t && this.bus.fire(\"selectNewNode\", e.nodeObj);\n}, Vt = function(e) {\n  this.selection?.select(e);\n}, zt = function(e) {\n  this.selection?.deselect(e);\n}, Kt = function() {\n  this.unselectNodes(this.currentNodes), this.unselectSummary(), this.unselectArrow();\n}, Le = function(e) {\n  return JSON.stringify(e, (t, n) => {\n    if (!(t === \"parent\" && typeof n != \"string\"))\n      return n;\n  });\n}, qt = function() {\n  const e = Xt(this);\n  return Le(e);\n}, Ut = function() {\n  return JSON.parse(this.getDataString());\n}, Jt = function() {\n  this.editable = !0;\n}, Zt = function() {\n  this.editable = !1;\n}, Qt = function(e, t = { x: 0, y: 0 }) {\n  if (e < this.scaleMin && e < this.scaleVal || e > this.scaleMax && e > this.scaleVal) return;\n  const n = this.container.getBoundingClientRect(), o = t.x ? t.x - n.left - n.width / 2 : 0, s = t.y ? t.y - n.top - n.height / 2 : 0, { dx: i, dy: l } = De(this), c = this.map.style.transform, { x: r, y: a } = Se(c), d = r - i, h = a - l, u = this.scaleVal, y = (-o + d) * (1 - e / u), b = (-s + h) * (1 - e / u);\n  this.map.style.transform = `translate3d(${r - y}px, ${a - b}px, 0) scale(${e})`, this.scaleVal = e, this.bus.fire(\"scale\", e);\n}, en = function() {\n  const e = this.nodes.offsetHeight / this.container.offsetHeight, t = this.nodes.offsetWidth / this.container.offsetWidth, n = 1 / Math.max(1, Math.max(e, t));\n  this.scaleVal = n;\n  const { dx: o, dy: s } = De(this, !0);\n  this.map.style.transform = `translate3d(${o}px, ${s}px, 0) scale(${n})`, this.bus.fire(\"scale\", n);\n}, tn = function(e, t, n = !1) {\n  const { map: o, scaleVal: s, bus: i, container: l, nodes: c } = this;\n  if (n && o.style.transition === \"transform 0.3s\")\n    return;\n  const r = o.style.transform;\n  let { x: a, y: d } = Se(r);\n  const h = l.getBoundingClientRect(), u = c.getBoundingClientRect(), y = u.left < h.right && u.right > h.left, b = u.top < h.bottom && u.bottom > h.top;\n  if (y) {\n    const p = u.left + e, g = u.right + e;\n    (p >= h.right || g <= h.left) && (e = 0);\n  }\n  if (b) {\n    const p = u.top + t, g = u.bottom + t;\n    (p >= h.bottom || g <= h.top) && (t = 0);\n  }\n  a += e, d += t, n && (o.style.transition = \"transform 0.3s\", setTimeout(() => {\n    o.style.transition = \"none\";\n  }, 300)), o.style.transform = `translate3d(${a}px, ${d}px, 0) scale(${s})`, i.fire(\"move\", { dx: e, dy: t });\n}, De = (e, t = !1) => {\n  const { container: n, map: o, nodes: s } = e;\n  let i, l;\n  if (e.alignment === \"nodes\" || t)\n    i = (n.offsetWidth - s.offsetWidth) / 2, l = (n.offsetHeight - s.offsetHeight) / 2, o.style.transformOrigin = \"50% 50%\";\n  else {\n    const c = o.querySelector(\"me-root\"), r = c.offsetTop, a = c.offsetLeft, d = c.offsetWidth, h = c.offsetHeight;\n    i = n.offsetWidth / 2 - a - d / 2, l = n.offsetHeight / 2 - r - h / 2, o.style.transformOrigin = `${a + d / 2}px 50%`;\n  }\n  return { dx: i, dy: l };\n}, nn = function() {\n  const { map: e, container: t } = this, { dx: n, dy: o } = De(this);\n  t.scrollTop = 0, t.scrollLeft = 0, e.style.transform = `translate3d(${n}px, ${o}px, 0) scale(${this.scaleVal})`;\n}, on = function(e) {\n  e(this);\n}, sn = function(e) {\n  e.nodeObj.parent && (this.clearSelection(), this.tempDirection === null && (this.tempDirection = this.direction), this.isFocusMode || (this.nodeDataBackup = this.nodeData, this.isFocusMode = !0), this.nodeData = e.nodeObj, this.initRight(), this.toCenter());\n}, rn = function() {\n  this.isFocusMode = !1, this.tempDirection !== null && (this.nodeData = this.nodeDataBackup, this.direction = this.tempDirection, this.tempDirection = null, this.refresh(), this.toCenter());\n}, ln = function() {\n  this.direction = 0, this.refresh(), this.toCenter(), this.bus.fire(\"changeDirection\", this.direction);\n}, cn = function() {\n  this.direction = 1, this.refresh(), this.toCenter(), this.bus.fire(\"changeDirection\", this.direction);\n}, an = function() {\n  this.direction = 2, this.refresh(), this.toCenter(), this.bus.fire(\"changeDirection\", this.direction);\n}, dn = function(e, t) {\n  const n = e.nodeObj;\n  typeof t == \"boolean\" ? n.expanded = t : n.expanded !== !1 ? n.expanded = !1 : n.expanded = !0;\n  const o = e.getBoundingClientRect(), s = {\n    x: o.left,\n    y: o.top\n  }, i = e.parentNode, l = i.children[1];\n  if (l.expanded = n.expanded, l.className = n.expanded ? \"minus\" : \"\", ee(e), n.expanded) {\n    const h = this.createChildren(\n      n.children.map((u) => this.createWrapper(u).grp)\n    );\n    i.parentNode.appendChild(h);\n  } else\n    i.parentNode.children[1].remove();\n  this.linkDiv(e.closest(\"me-main > me-wrapper\"));\n  const c = e.getBoundingClientRect(), r = {\n    x: c.left,\n    y: c.top\n  }, a = s.x - r.x, d = s.y - r.y;\n  this.move(a, d), this.bus.fire(\"expandNode\", n);\n}, hn = function(e, t) {\n  const n = e.nodeObj, o = e.getBoundingClientRect(), s = {\n    x: o.left,\n    y: o.top\n  };\n  U(n, t ?? !n.expanded), this.refresh();\n  const i = this.findEle(n.id).getBoundingClientRect(), l = {\n    x: i.left,\n    y: i.top\n  }, c = s.x - l.x, r = s.y - l.y;\n  this.move(c, r);\n}, fn = function(e) {\n  this.clearSelection(), e && (e = JSON.parse(JSON.stringify(e)), this.nodeData = e.nodeData, this.arrows = e.arrows || [], this.summaries = e.summaries || [], e.theme && this.changeTheme(e.theme)), V(this.nodeData), this.layout(), this.linkDiv();\n}, un = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n  __proto__: null,\n  cancelFocus: rn,\n  clearSelection: Kt,\n  disableEdit: Zt,\n  enableEdit: Jt,\n  expandNode: dn,\n  expandNodeAll: hn,\n  focusNode: sn,\n  getData: Ut,\n  getDataString: qt,\n  initLeft: ln,\n  initRight: cn,\n  initSide: an,\n  install: on,\n  move: tn,\n  refresh: fn,\n  scale: Qt,\n  scaleFit: en,\n  scrollIntoView: Ft,\n  selectNode: Gt,\n  selectNodes: Vt,\n  stringifyData: Le,\n  toCenter: nn,\n  unselectNodes: zt\n}, Symbol.toStringTag, { value: \"Module\" })), Oe = \"MIND-ELIXIR-WAIT-COPY\", pn = (e, t) => {\n  const n = e.map.querySelectorAll(`.${t}>me-wrapper>me-parent>me-tpc`);\n  n.length !== 0 && e.selectNode(n[Math.ceil(n.length / 2) - 1]);\n}, gn = (e) => {\n  e.selectNode(e.map.querySelector(\"me-root>me-tpc\"));\n}, mn = function(e, t) {\n  const n = t.parentElement.parentElement.parentElement.previousSibling;\n  if (n) {\n    const o = n.firstChild;\n    e.selectNode(o);\n  }\n}, yn = function(e, t) {\n  const n = t.parentElement.nextSibling;\n  if (n && n.firstChild) {\n    const o = n.firstChild.firstChild.firstChild;\n    e.selectNode(o);\n  }\n}, $e = function(e, t) {\n  const n = e.currentNode || e.currentNodes?.[0];\n  if (!n) return;\n  const o = n.nodeObj, s = n.offsetParent.offsetParent.parentElement;\n  o.parent ? s.className === t ? yn(e, n) : o.parent?.parent ? mn(e, n) : gn(e) : pn(e, t);\n}, He = function(e, t) {\n  const n = e.currentNode;\n  if (!n || !n.nodeObj.parent) return;\n  const s = t + \"Sibling\", i = n.parentElement.parentElement[s];\n  i ? e.selectNode(i.firstChild.firstChild) : e.selectNode(n);\n}, ae = function(e, t, n) {\n  const { scaleVal: o, scaleSensitivity: s } = e;\n  switch (t) {\n    case \"in\":\n      e.scale(o + s, n);\n      break;\n    case \"out\":\n      e.scale(o - s, n);\n  }\n};\nfunction bn(e, t) {\n  t = t === !0 ? {} : t;\n  const n = () => {\n    e.currentArrow ? e.removeArrow() : e.currentSummary ? e.removeSummary(e.currentSummary.summaryObj.id) : e.currentNodes && e.removeNodes(e.currentNodes);\n  };\n  let o = !1, s = null;\n  const i = (r) => {\n    const a = e.nodeData;\n    if (r.key === \"0\")\n      for (const d of a.children)\n        U(d, !1);\n    if (r.key === \"=\")\n      for (const d of a.children)\n        U(d, !0);\n    if ([\"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"].includes(r.key))\n      for (const d of a.children)\n        U(d, !0, Number(r.key) - 1);\n    e.refresh(), e.toCenter(), o = !1, s && (clearTimeout(s), s = null, e.container.removeEventListener(\"keydown\", i));\n  }, l = {\n    Enter: (r) => {\n      r.shiftKey ? e.insertSibling(\"before\") : r.ctrlKey || r.metaKey ? e.insertParent() : e.insertSibling(\"after\");\n    },\n    Tab: () => {\n      e.addChild();\n    },\n    F1: () => {\n      e.toCenter();\n    },\n    F2: () => {\n      e.currentSummary ? e.editSummary(e.currentSummary) : e.currentArrow ? e.editArrowLabel(e.currentArrow) : e.beginEdit();\n    },\n    ArrowUp: (r) => {\n      if (r.altKey)\n        e.moveUpNode();\n      else {\n        if (r.metaKey || r.ctrlKey)\n          return e.initSide();\n        He(e, \"previous\");\n      }\n    },\n    ArrowDown: (r) => {\n      r.altKey ? e.moveDownNode() : He(e, \"next\");\n    },\n    ArrowLeft: (r) => {\n      if (r.metaKey || r.ctrlKey)\n        return e.initLeft();\n      $e(e, B.LHS);\n    },\n    ArrowRight: (r) => {\n      if (r.metaKey || r.ctrlKey)\n        return e.initRight();\n      $e(e, B.RHS);\n    },\n    PageUp: () => e.moveUpNode(),\n    PageDown: () => {\n      e.moveDownNode();\n    },\n    \"=\": (r) => {\n      (r.metaKey || r.ctrlKey) && ae(e, \"in\");\n    },\n    \"-\": (r) => {\n      (r.metaKey || r.ctrlKey) && ae(e, \"out\");\n    },\n    0: (r) => {\n      if (r.metaKey || r.ctrlKey) {\n        if (o)\n          return;\n        e.scale(1);\n      }\n    },\n    k: (r) => {\n      (r.metaKey || r.ctrlKey) && (o = !0, s && (clearTimeout(s), e.container.removeEventListener(\"keydown\", i)), s = window.setTimeout(() => {\n        o = !1, s = null;\n      }, 2e3), e.container.addEventListener(\"keydown\", i));\n    },\n    Delete: n,\n    Backspace: n,\n    ...t\n  };\n  e.container.onkeydown = (r) => {\n    if ((r.ctrlKey || r.metaKey) && [\"c\", \"v\", \"x\"].includes(r.key) || r.preventDefault(), !e.editable) return;\n    const d = l[r.key];\n    d && d(r);\n  };\n  const c = (r) => {\n    if (r.target instanceof HTMLElement && r.target.id === \"input-box\" || e.currentNodes.length === 0) return !1;\n    if (r.clipboardData) {\n      const a = Ce(e.currentNodes).map((h) => h.nodeObj), d = Le({\n        magic: Oe,\n        data: a\n      });\n      return r.clipboardData.setData(\"text/plain\", d), r.preventDefault(), !0;\n    }\n    return !1;\n  };\n  e.container.addEventListener(\"copy\", c), e.container.addEventListener(\"cut\", (r) => {\n    c(r) && n();\n  }), e.container.addEventListener(\"paste\", (r) => {\n    const a = r.clipboardData?.getData(\"text/plain\");\n    if (a)\n      try {\n        const d = JSON.parse(a);\n        if (d && d.magic === Oe && Array.isArray(d.data)) {\n          const h = d.data, u = h.map((y) => ({ nodeObj: y }));\n          h.length > 0 && e.currentNode && (e.copyNodes(u, e.currentNode), r.preventDefault());\n          return;\n        }\n      } catch {\n      }\n    e.pasteHandler && e.pasteHandler(r);\n  });\n}\nconst vn = function(e, t) {\n  if (!t)\n    return he(e), e;\n  let n = e.querySelector(\".insert-preview\");\n  const o = `insert-preview ${t} show`;\n  return n || (n = document.createElement(\"div\"), e.appendChild(n)), n.className = o, e;\n}, he = function(e) {\n  if (!e) return;\n  const t = e.querySelectorAll(\".insert-preview\");\n  for (const n of t || [])\n    n.remove();\n}, je = function(e, t) {\n  for (const n of t) {\n    const o = n.parentElement.parentElement.contains(e);\n    if (!(e && e.tagName === \"ME-TPC\" && e !== n && !o && e.nodeObj.parent)) return !1;\n  }\n  return !0;\n}, wn = function(e) {\n  const t = document.createElement(\"div\");\n  return t.className = \"mind-elixir-ghost\", e.container.appendChild(t), t;\n};\nclass xn {\n  mind;\n  isMoving = !1;\n  interval = null;\n  speed = 20;\n  constructor(t) {\n    this.mind = t;\n  }\n  move(t, n) {\n    this.isMoving || (this.isMoving = !0, this.interval = setInterval(() => {\n      this.mind.move(t * this.speed * this.mind.scaleVal, n * this.speed * this.mind.scaleVal);\n    }, 100));\n  }\n  stop() {\n    this.isMoving = !1, this.interval && (clearInterval(this.interval), this.interval = null);\n  }\n}\nfunction En(e) {\n  return {\n    isDragging: !1,\n    insertType: null,\n    meet: null,\n    ghost: wn(e),\n    edgeMoveController: new xn(e),\n    startX: 0,\n    startY: 0,\n    pointerId: null\n  };\n}\nconst Cn = 5;\nfunction Ie(e, t, n, o = !1) {\n  if (e.spacePressed) return !1;\n  const s = n.target;\n  if (s?.tagName !== \"ME-TPC\" || !s.nodeObj.parent) return !1;\n  t.startX = n.clientX, t.startY = n.clientY, t.pointerId = n.pointerId, e.selection?.cancel();\n  let i = e.currentNodes;\n  return i?.includes(s) || (e.selectNode(s), i = e.currentNodes), e.dragged = i, o && it(e, t), !0;\n}\nfunction st(e, t, n) {\n  e.style.transform = `translate(${t - 10}px, ${n - 10}px)`, e.style.display = \"block\";\n}\nfunction it(e, t) {\n  const { dragged: n } = e;\n  if (!n) return;\n  const o = document.activeElement;\n  o && o.isContentEditable && o.blur(), t.isDragging = !0, n.length > 1 ? t.ghost.innerHTML = n.length + \"\" : t.ghost.innerHTML = n[0].innerHTML;\n  for (const s of n)\n    s.parentElement.parentElement.style.opacity = \"0.5\";\n  e.dragMoveHelper.clear();\n}\nfunction Sn(e, t, n) {\n  const { dragged: o } = e;\n  if (!o || t.pointerId !== n.pointerId) return;\n  const s = n.clientX - t.startX, i = n.clientY - t.startY, l = Math.sqrt(s * s + i * i);\n  if (!t.isDragging && l > Cn && it(e, t), !t.isDragging) return;\n  const c = e.container.getBoundingClientRect();\n  st(t.ghost, n.clientX - c.x, n.clientY - c.y), n.clientX < c.x + 50 ? t.edgeMoveController.move(1, 0) : n.clientX > c.x + c.width - 50 ? t.edgeMoveController.move(-1, 0) : n.clientY < c.y + 50 ? t.edgeMoveController.move(0, 1) : n.clientY > c.y + c.height - 50 ? t.edgeMoveController.move(0, -1) : t.edgeMoveController.stop(), he(t.meet);\n  const r = 12 * e.scaleVal, a = document.elementFromPoint(n.clientX, n.clientY - r);\n  if (je(a, o)) {\n    t.meet = a;\n    const d = a.getBoundingClientRect(), h = d.y;\n    n.clientY > h + d.height ? t.insertType = \"after\" : t.insertType = \"in\";\n  } else {\n    const d = document.elementFromPoint(n.clientX, n.clientY + r);\n    if (je(d, o)) {\n      t.meet = d;\n      const u = d.getBoundingClientRect().y;\n      n.clientY < u ? t.insertType = \"before\" : t.insertType = \"in\";\n    } else\n      t.insertType = null, t.meet = null;\n  }\n  t.meet && vn(t.meet, t.insertType);\n}\nfunction Nn(e, t, n) {\n  const { dragged: o } = e;\n  if (!(!o || t.pointerId !== n.pointerId)) {\n    t.edgeMoveController.stop();\n    for (const s of o)\n      s.parentElement.parentElement.style.opacity = \"1\";\n    t.ghost.style.display = \"none\", t.ghost.innerHTML = \"\", t.isDragging && t.meet && (he(t.meet), t.insertType === \"before\" ? e.moveNodeBefore(o, t.meet) : t.insertType === \"after\" ? e.moveNodeAfter(o, t.meet) : t.insertType === \"in\" && e.moveNodeIn(o, t.meet)), e.dragged = null, t.isDragging = !1, t.insertType = null, t.meet = null, t.pointerId = null;\n  }\n}\nfunction pe(e, t) {\n  const { dragged: n } = e;\n  if (n) {\n    t.edgeMoveController.stop();\n    for (const o of n)\n      o.parentElement.parentElement.style.opacity = \"1\";\n    t.meet && he(t.meet), t.ghost.style.display = \"none\", t.ghost.innerHTML = \"\", e.dragged = null, t.isDragging = !1, t.insertType = null, t.meet = null, t.pointerId = null;\n  }\n}\nfunction Tn(e) {\n  return () => {\n  };\n}\nfunction _n(e) {\n  const { dragMoveHelper: t } = e;\n  let n = 0;\n  e.spacePressed = !1;\n  let o = null;\n  const s = /* @__PURE__ */ new Map(), i = En(e);\n  let l = null, c = null, r = null, a = null;\n  const d = 500, h = 10, u = () => {\n    l !== null && (clearTimeout(l), l = null, c = null, r = null, a = null);\n  }, y = (f, w) => {\n    f.hasPointerCapture && f.hasPointerCapture(w) && f.releasePointerCapture(w);\n  }, b = (f, w) => {\n    if (f.id === \"input-box\" || f.closest(\"#input-box\")) return !1;\n    const T = f.closest(\".svg-label\");\n    if (T) {\n      const M = T.dataset.svgId, te = T.dataset.type, Z = document.getElementById(M);\n      if (Z) {\n        if (te === \"arrow\")\n          return w ? e.editArrowLabel(Z) : e.selectArrow(Z), !0;\n        if (te === \"summary\")\n          return w ? e.editSummary(Z) : e.selectSummary(Z), !0;\n      }\n    }\n    if (f.closest(\".topiclinks\")) {\n      const M = f.closest(\"g\");\n      if (M)\n        return w ? e.editArrowLabel(M) : e.selectArrow(M), !0;\n    }\n    if (f.closest(\".summary\")) {\n      const M = f.closest(\"g\");\n      if (M)\n        return w ? e.editSummary(M) : e.selectSummary(M), !0;\n    }\n    return !1;\n  }, p = (f) => {\n    if (f.button !== 0) return;\n    if (e.helper1?.moved) {\n      e.helper1.clear();\n      return;\n    }\n    if (e.helper2?.moved) {\n      e.helper2.clear();\n      return;\n    }\n    if (t.moved) {\n      t.clear();\n      return;\n    }\n    if (i?.isDragging)\n      return;\n    const w = f.target;\n    if (w.tagName === \"ME-EPD\")\n      f.ctrlKey || f.metaKey ? e.expandNodeAll(w.previousSibling) : e.expandNode(w.previousSibling);\n    else if (w.tagName === \"ME-TPC\" && e.currentNodes.length > 1)\n      e.selectNode(w);\n    else if (!e.editable)\n      return;\n    b(w, !1);\n  }, g = (f) => {\n    if (!e.editable) return;\n    const w = f.target;\n    re(w) && e.beginEdit(w), b(w, !0);\n  }, m = (f) => {\n    if (f.pointerType === \"mouse\" || s.size > 1) return;\n    const w = (/* @__PURE__ */ new Date()).getTime(), T = w - n;\n    T < 300 && T > 0 && g(f), n = w;\n  }, v = (f) => {\n    f.code === \"Space\" && (e.spacePressed = !0, e.container.classList.add(\"space-pressed\"));\n  }, E = (f) => {\n    f.code === \"Space\" && (e.spacePressed = !1, e.container.classList.remove(\"space-pressed\"));\n  }, k = (f) => {\n    if (f.pointerType === \"touch\" && (s.set(f.pointerId, { x: f.clientX, y: f.clientY }), s.size === 2)) {\n      const [M, te] = Array.from(s.values());\n      o = Pe(M, te), u();\n    }\n    t.moved = !1;\n    const w = f.target, T = e.mouseSelectionButton === 0 ? 2 : 0;\n    if (e.editable && i && (f.button === 0 || f.pointerType === \"touch\")) {\n      if (f.pointerType === \"touch\" && s.size > 1)\n        (i.isDragging || i.pointerId !== null) && pe(e, i);\n      else if (f.pointerType === \"touch\" && s.size === 1)\n        (re(w) || w.closest(\"me-tpc\")) && (c = { x: f.clientX, y: f.clientY }, r = w, a = f.pointerId, l = window.setTimeout(() => {\n          Ie(e, i, f, !0) && (r && r.setPointerCapture(f.pointerId), st(i.ghost, f.clientX, f.clientY)), l = null, c = null, r = null, a = null;\n        }, d));\n      else if (f.pointerType === \"mouse\" && Ie(e, i, f, !1)) {\n        w.setPointerCapture(f.pointerId);\n        return;\n      }\n    }\n    const O = e.spacePressed && f.button === 0 && f.pointerType === \"mouse\", X = !e.editable || f.button === T && f.pointerType === \"mouse\" || f.pointerType === \"touch\";\n    !O && !X || (t.x = f.clientX, t.y = f.clientY, w.className !== \"circle\" && w.contentEditable !== \"plaintext-only\" && (t.mousedown = !0, w.setPointerCapture(f.pointerId)));\n  }, _ = (f) => {\n    if (f.pointerType === \"touch\" && s.has(f.pointerId)) {\n      if (s.set(f.pointerId, { x: f.clientX, y: f.clientY }), l !== null && c !== null && f.pointerId === a) {\n        const w = f.clientX - c.x, T = f.clientY - c.y;\n        Math.sqrt(w * w + T * T) > h && u();\n      }\n      if (s.size >= 2) {\n        const [w, T] = Array.from(s.values()), O = Pe(w, T);\n        if (o == null)\n          o = O;\n        else {\n          if (o > 0) {\n            const X = O / o;\n            e.scale(e.scaleVal * X, {\n              x: (w.x + T.x) / 2,\n              y: (w.y + T.y) / 2\n            });\n          }\n          o = O;\n        }\n        return;\n      }\n    }\n    if (!(i && i.pointerId !== null && (Sn(e, i, f), i.isDragging))) {\n      if (f.target.contentEditable !== \"plaintext-only\" || e.spacePressed && t.mousedown) {\n        const w = f.clientX - t.x, T = f.clientY - t.y;\n        t.onMove(w, T);\n      }\n      t.x = f.clientX, t.y = f.clientY;\n    }\n  }, C = (f) => {\n    if (f.pointerType === \"touch\" && (s.delete(f.pointerId), s.size < 2 && (o = null), u()), i && i.pointerId !== null) {\n      const w = i.isDragging;\n      if (Nn(e, i, f), y(f.target, f.pointerId), w)\n        return;\n    }\n    t.mousedown && (y(f.target, f.pointerId), t.clear());\n  }, x = () => {\n    u(), t.mousedown && t.clear(), i && (i.isDragging || i.pointerId !== null) && pe(e, i);\n  }, N = (f) => {\n    f.pointerType === \"touch\" && (s.delete(f.pointerId), s.size < 2 && (o = null), u()), i && i.pointerId === f.pointerId && pe(e, i), C(f);\n  }, S = (f) => {\n    if (f.preventDefault(), f.button !== 2 || !e.editable) return;\n    const w = f.target;\n    re(w) && !w.classList.contains(\"selected\") && e.selectNode(w), setTimeout(() => {\n      e.dragMoveHelper.moved || e.bus.fire(\"showContextMenu\", f);\n    }, 200);\n  }, A = (f) => {\n    f.stopPropagation(), f.preventDefault(), f.ctrlKey || f.metaKey ? f.deltaY < 0 ? ae(e, \"in\", e.dragMoveHelper) : e.scaleVal - e.scaleSensitivity > 0 && ae(e, \"out\", e.dragMoveHelper) : f.shiftKey ? e.move(-f.deltaY, 0) : e.move(-f.deltaX, -f.deltaY);\n  }, { container: L } = e;\n  return Je([\n    { dom: L, evt: \"pointerdown\", func: k },\n    { dom: L, evt: \"pointermove\", func: _ },\n    { dom: L, evt: \"pointerup\", func: C },\n    { dom: L, evt: \"pointercancel\", func: N },\n    { dom: L, evt: \"pointerdown\", func: m },\n    { dom: L, evt: \"click\", func: p },\n    { dom: L, evt: \"dblclick\", func: g },\n    { dom: L, evt: \"contextmenu\", func: S },\n    { dom: L, evt: \"wheel\", func: typeof e.handleWheel == \"function\" ? e.handleWheel : A },\n    { dom: L, evt: \"blur\", func: x },\n    { dom: L, evt: \"keydown\", func: v },\n    { dom: L, evt: \"keyup\", func: E }\n  ]);\n}\nfunction kn() {\n  return {\n    handlers: {},\n    addListener: function(e, t) {\n      this.handlers[e] === void 0 && (this.handlers[e] = []), this.handlers[e].push(t);\n    },\n    fire: function(e, ...t) {\n      if (this.handlers[e] instanceof Array) {\n        const n = this.handlers[e];\n        for (let o = 0; o < n.length; o++)\n          n[o](...t);\n      }\n    },\n    removeListener: function(e, t) {\n      if (!this.handlers[e]) return;\n      const n = this.handlers[e];\n      if (!t)\n        n.length = 0;\n      else if (n.length)\n        for (let o = 0; o < n.length; o++)\n          n[o] === t && this.handlers[e].splice(o, 1);\n    }\n  };\n}\nconst j = \"http://www.w3.org/2000/svg\", fe = function(e) {\n  const t = e.clientWidth, n = e.clientHeight, o = e.dataset, s = Number(o.x), i = Number(o.y), l = o.anchor;\n  let c = s;\n  l === \"middle\" ? c = s - t / 2 : l === \"end\" && (c = s - t), e.style.left = `${c}px`, e.style.top = `${i - n / 2}px`, e.style.visibility = \"visible\";\n}, ye = function(e, t, n, o) {\n  const { anchor: s = \"middle\", color: i, dataType: l, svgId: c } = o, r = document.createElement(\"div\");\n  r.className = \"svg-label\", r.style.color = i || \"#666\";\n  const a = \"label-\" + c;\n  return r.id = a, r.innerHTML = e, r.dataset.type = l, r.dataset.svgId = c, r.dataset.x = t.toString(), r.dataset.y = n.toString(), r.dataset.anchor = s, r;\n}, rt = function(e, t, n) {\n  const o = document.createElementNS(j, \"path\");\n  return D(o, {\n    d: e,\n    stroke: t || \"#666\",\n    fill: \"none\",\n    \"stroke-width\": n\n  }), o;\n}, Q = function(e) {\n  const t = document.createElementNS(j, \"svg\");\n  return t.setAttribute(\"class\", e), t.setAttribute(\"overflow\", \"visible\"), t;\n}, Re = function() {\n  const e = document.createElementNS(j, \"line\");\n  return e.setAttribute(\"stroke\", \"#4dc4ff\"), e.setAttribute(\"fill\", \"none\"), e.setAttribute(\"stroke-width\", \"2\"), e.setAttribute(\"opacity\", \"0.45\"), e;\n}, Ln = function(e, t, n, o) {\n  const s = document.createElementNS(j, \"g\");\n  return [\n    {\n      name: \"line\",\n      d: e\n    },\n    {\n      name: \"arrow1\",\n      d: t\n    },\n    {\n      name: \"arrow2\",\n      d: n\n    }\n  ].forEach((l, c) => {\n    const r = l.d, a = document.createElementNS(j, \"path\"), d = {\n      d: r,\n      stroke: o?.stroke || \"rgb(227, 125, 116)\",\n      fill: \"none\",\n      \"stroke-linecap\": o?.strokeLinecap || \"cap\",\n      \"stroke-width\": String(o?.strokeWidth || \"2\")\n    };\n    o?.opacity !== void 0 && (d.opacity = String(o.opacity)), D(a, d), c === 0 && a.setAttribute(\"stroke-dasharray\", o?.strokeDasharray || \"8,2\");\n    const h = document.createElementNS(j, \"path\");\n    D(h, {\n      d: r,\n      stroke: \"transparent\",\n      fill: \"none\",\n      \"stroke-width\": \"15\"\n    }), s.appendChild(h), s.appendChild(a), s[l.name] = a;\n  }), s;\n}, lt = function(e, t, n) {\n  if (!t) return;\n  const o = n.label, s = t.cloneNode(!0);\n  e.nodes.appendChild(s), s.id = \"input-box\", s.textContent = o, s.contentEditable = \"plaintext-only\", s.spellcheck = !1, s.style.cssText = `\n    left:${t.style.left};\n    top:${t.style.top}; \n    max-width: 200px;\n  `, Qe(s), e.scrollIntoView(s), s.addEventListener(\"keydown\", (i) => {\n    i.stopPropagation();\n    const l = i.key;\n    if (l === \"Enter\" || l === \"Tab\") {\n      if (i.shiftKey) return;\n      i.preventDefault(), s.blur(), e.container.focus();\n    }\n  }), s.addEventListener(\"blur\", () => {\n    if (!s) return;\n    const i = s.innerText?.trim() || \"\";\n    i === \"\" ? n.label = o : n.label = i, s.remove(), i !== o && (e.markdown ? t.innerHTML = e.markdown(n.label, n) : t.textContent = n.label, fe(t), \"parent\" in n ? e.bus.fire(\"operation\", {\n      name: \"finishEditSummary\",\n      obj: n\n    }) : e.bus.fire(\"operation\", {\n      name: \"finishEditArrowLabel\",\n      obj: n\n    }));\n  });\n}, Dn = function(e) {\n  const t = this.map.querySelector(\"me-root\"), n = t.offsetTop, o = t.offsetLeft, s = t.offsetWidth, i = t.offsetHeight, l = this.map.querySelectorAll(\"me-main > me-wrapper\");\n  this.lines.innerHTML = \"\";\n  for (let c = 0; c < l.length; c++) {\n    const r = l[c], a = r.querySelector(\"me-tpc\"), { offsetLeft: d, offsetTop: h } = H(this.nodes, a), u = a.offsetWidth, y = a.offsetHeight, b = r.parentNode.className, p = this.generateMainBranch({ pT: n, pL: o, pW: s, pH: i, cT: h, cL: d, cW: u, cH: y, direction: b, containerHeight: this.nodes.offsetHeight }), g = this.theme.palette, m = a.nodeObj.branchColor || g[c % g.length];\n    if (a.style.borderColor = m, this.lines.appendChild(rt(p, m, \"3\")), e && e !== r)\n      continue;\n    const v = Q(\"subLines\"), E = r.lastChild;\n    E.tagName === \"svg\" && E.remove(), r.appendChild(v), ct(this, v, m, r, b, !0);\n  }\n  this.labelContainer.innerHTML = \"\", this.renderArrow(), this.renderSummary(), this.bus.fire(\"linkDiv\");\n}, ct = function(e, t, n, o, s, i) {\n  const l = o.firstChild, c = o.children[1].children;\n  if (c.length === 0) return;\n  const r = l.offsetTop, a = l.offsetLeft, d = l.offsetWidth, h = l.offsetHeight;\n  for (let u = 0; u < c.length; u++) {\n    const y = c[u], b = y.firstChild, p = b.offsetTop, g = b.offsetLeft, m = b.offsetWidth, v = b.offsetHeight, E = b.firstChild.nodeObj.branchColor || n, k = e.generateSubBranch({ pT: r, pL: a, pW: d, pH: h, cT: p, cL: g, cW: m, cH: v, direction: s, isFirst: i });\n    t.appendChild(rt(k, E, \"2\"));\n    const _ = b.children[1];\n    if (_) {\n      if (!_.expanded) continue;\n    } else\n      continue;\n    ct(e, t, E, y, s);\n  }\n}, An = {\n  addChild: \"Add child\",\n  addParent: \"Add parent\",\n  addSibling: \"Add sibling\",\n  removeNode: \"Remove node\",\n  focus: \"Focus Mode\",\n  cancelFocus: \"Cancel Focus Mode\",\n  moveUp: \"Move up\",\n  moveDown: \"Move down\",\n  link: \"Link\",\n  linkBidirectional: \"Bidirectional Link\",\n  clickTips: \"Please click the target node\",\n  summary: \"Summary\"\n};\nfunction Mn(e, t) {\n  const n = {\n    focus: !0,\n    link: !0,\n    locale: An\n  };\n  t = t === !0 ? n : Object.assign(n, t);\n  const o = (C) => {\n    const x = document.createElement(\"div\");\n    return x.innerText = C, x.className = \"tips\", x;\n  }, s = (C, x, N) => {\n    const S = document.createElement(\"li\");\n    return S.id = C, S.innerHTML = `<span>${me(x)}</span><span ${N ? 'class=\"key\"' : \"\"}>${me(N)}</span>`, S;\n  }, i = t.locale, l = s(\"cm-add_child\", i.addChild, \"Tab\"), c = s(\"cm-add_parent\", i.addParent, \"Ctrl + Enter\"), r = s(\"cm-add_sibling\", i.addSibling, \"Enter\"), a = s(\"cm-remove_child\", i.removeNode, \"Delete\"), d = s(\"cm-fucus\", i.focus, \"\"), h = s(\"cm-unfucus\", i.cancelFocus, \"\"), u = s(\"cm-up\", i.moveUp, \"PgUp\"), y = s(\"cm-down\", i.moveDown, \"Pgdn\"), b = s(\"cm-link\", i.link, \"\"), p = s(\"cm-link-bidirectional\", i.linkBidirectional, \"\"), g = s(\"cm-summary\", i.summary, \"\"), m = document.createElement(\"ul\");\n  if (m.className = \"menu-list\", m.appendChild(l), m.appendChild(c), m.appendChild(r), m.appendChild(a), t.focus && (m.appendChild(d), m.appendChild(h)), m.appendChild(u), m.appendChild(y), m.appendChild(g), t.link && (m.appendChild(b), m.appendChild(p)), t && t.extend)\n    for (let C = 0; C < t.extend.length; C++) {\n      const x = t.extend[C], N = s(x.name, x.name, x.key || \"\");\n      m.appendChild(N), N.onclick = (S) => {\n        x.onclick(S);\n      };\n    }\n  const v = document.createElement(\"div\");\n  v.className = \"context-menu\", v.appendChild(m), v.hidden = !0, e.container.append(v);\n  let E = !0;\n  const k = (C) => {\n    const x = C.target;\n    if (re(x)) {\n      x.parentElement.tagName === \"ME-ROOT\" ? E = !0 : E = !1, E ? (d.className = \"disabled\", u.className = \"disabled\", y.className = \"disabled\", c.className = \"disabled\", r.className = \"disabled\", a.className = \"disabled\") : (d.className = \"\", u.className = \"\", y.className = \"\", c.className = \"\", r.className = \"\", a.className = \"\"), v.hidden = !1, m.style.top = \"\", m.style.bottom = \"\", m.style.left = \"\", m.style.right = \"\";\n      const N = m.offsetHeight, S = m.offsetWidth, A = m.getBoundingClientRect(), L = C.clientY - A.top, R = C.clientX - A.left;\n      N + L > window.innerHeight ? (m.style.top = \"\", m.style.bottom = \"0px\") : (m.style.bottom = \"\", m.style.top = L + 15 + \"px\"), S + R > window.innerWidth ? (m.style.left = \"\", m.style.right = \"0px\") : (m.style.right = \"\", m.style.left = R + 10 + \"px\");\n    }\n  };\n  e.bus.addListener(\"showContextMenu\", k), v.onclick = (C) => {\n    C.target === v && (v.hidden = !0);\n  }, l.onclick = () => {\n    e.addChild(), v.hidden = !0;\n  }, c.onclick = () => {\n    e.insertParent(), v.hidden = !0;\n  }, r.onclick = () => {\n    E || (e.insertSibling(\"after\"), v.hidden = !0);\n  }, a.onclick = () => {\n    E || (e.removeNodes(e.currentNodes || []), v.hidden = !0);\n  }, d.onclick = () => {\n    E || (e.focusNode(e.currentNode), v.hidden = !0);\n  }, h.onclick = () => {\n    e.cancelFocus(), v.hidden = !0;\n  }, u.onclick = () => {\n    E || (e.moveUpNode(), v.hidden = !0);\n  }, y.onclick = () => {\n    E || (e.moveDownNode(), v.hidden = !0);\n  };\n  const _ = (C) => {\n    v.hidden = !0;\n    const x = e.currentNode, N = o(i.clickTips);\n    e.container.appendChild(N), e.map.addEventListener(\n      \"click\",\n      (S) => {\n        S.preventDefault(), N.remove();\n        const A = S.target;\n        (A.parentElement.tagName === \"ME-PARENT\" || A.parentElement.tagName === \"ME-ROOT\") && e.createArrow(x, A, C);\n      },\n      {\n        once: !0\n      }\n    );\n  };\n  return b.onclick = () => _(), p.onclick = () => _({ bidirectional: !0 }), g.onclick = () => {\n    v.hidden = !0, e.createSummary(), e.unselectNodes(e.currentNodes);\n  }, () => {\n    l.onclick = null, c.onclick = null, r.onclick = null, a.onclick = null, d.onclick = null, h.onclick = null, u.onclick = null, y.onclick = null, b.onclick = null, g.onclick = null, v.onclick = null, e.container.oncontextmenu = null;\n  };\n}\nconst Pn = function(e) {\n  return [\"createSummary\", \"removeSummary\", \"finishEditSummary\"].includes(e.name) ? {\n    type: \"summary\",\n    value: e.obj.id\n  } : [\"createArrow\", \"removeArrow\", \"finishEditArrowLabel\"].includes(e.name) ? {\n    type: \"arrow\",\n    value: e.obj.id\n  } : [\"removeNodes\", \"copyNodes\", \"moveNodeBefore\", \"moveNodeAfter\", \"moveNodeIn\"].includes(e.name) ? {\n    type: \"nodes\",\n    value: e.objs.map((t) => t.id)\n  } : {\n    type: \"nodes\",\n    value: [e.obj.id]\n  };\n};\nfunction On(e) {\n  let t = [], n = -1, o = e.getData(), s = [];\n  e.undo = function() {\n    if (n > -1) {\n      const r = t[n];\n      o = r.prev, e.refresh(r.prev);\n      try {\n        r.currentTarget.type === \"nodes\" && (r.operation === \"removeNodes\" ? e.selectNodes(r.currentTarget.value.map((a) => this.findEle(a))) : e.selectNodes(r.currentSelected.map((a) => this.findEle(a))));\n      } catch {\n      } finally {\n        n--;\n      }\n    }\n  }, e.redo = function() {\n    if (n < t.length - 1) {\n      n++;\n      const r = t[n];\n      o = r.next, e.refresh(r.next);\n      try {\n        r.currentTarget.type === \"nodes\" && (r.operation === \"removeNodes\" ? e.selectNodes(r.currentSelected.map((a) => this.findEle(a))) : e.selectNodes(r.currentTarget.value.map((a) => this.findEle(a))));\n      } catch {\n      }\n    }\n  }, e.clearHistory = function() {\n    t = [], n = -1, o = e.getData(), e.clearSelection();\n  };\n  const i = function(r) {\n    if (r.name === \"beginEdit\") return;\n    t = t.slice(0, n + 1);\n    const a = e.getData(), d = {\n      prev: o,\n      operation: r.name,\n      currentSelected: s.map((h) => h.id),\n      currentTarget: Pn(r),\n      next: a\n    };\n    t.push(d), o = a, n = t.length - 1;\n  }, l = function(r) {\n    (r.metaKey || r.ctrlKey) && (r.shiftKey && r.key === \"Z\" || r.key === \"y\") ? e.redo() : (r.metaKey || r.ctrlKey) && r.key === \"z\" && e.undo();\n  }, c = function() {\n    s = e.currentNodes.map((r) => r.nodeObj);\n  };\n  return e.bus.addListener(\"operation\", i), e.bus.addListener(\"selectNodes\", c), e.container.addEventListener(\"keydown\", l), () => {\n    e.bus.removeListener(\"operation\", i), e.bus.removeListener(\"selectNodes\", c), e.container.removeEventListener(\"keydown\", l);\n  };\n}\nconst $n = '<?xml version=\"1.0\" standalone=\"no\"?><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg t=\"1750169394918\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"2021\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"200\" height=\"200\"><path d=\"M851.91168 328.45312c-59.97056 0-108.6208 48.47104-108.91264 108.36992l-137.92768 38.4a109.14304 109.14304 0 0 0-63.46752-46.58688l1.39264-137.11872c47.29344-11.86816 82.31936-54.66624 82.31936-105.64096 0-60.15488-48.76288-108.91776-108.91776-108.91776s-108.91776 48.76288-108.91776 108.91776c0 49.18784 32.60928 90.75712 77.38368 104.27392l-1.41312 138.87488a109.19936 109.19936 0 0 0-63.50336 48.55808l-138.93632-39.48544 0.01024-0.72704c0-60.15488-48.76288-108.91776-108.91776-108.91776s-108.91776 48.75776-108.91776 108.91776c0 60.15488 48.76288 108.91264 108.91776 108.91264 39.3984 0 73.91232-20.92032 93.03552-52.2496l139.19232 39.552-0.00512 0.2304c0 25.8304 9.00096 49.5616 24.02816 68.23424l-90.14272 132.63872a108.7488 108.7488 0 0 0-34.2528-5.504c-60.15488 0-108.91776 48.768-108.91776 108.91776 0 60.16 48.76288 108.91776 108.91776 108.91776 60.16 0 108.92288-48.75776 108.92288-108.91776 0-27.14624-9.9328-51.968-26.36288-71.04l89.04704-131.03104a108.544 108.544 0 0 0 37.6832 6.70208 108.672 108.672 0 0 0 36.48512-6.272l93.13792 132.57216a108.48256 108.48256 0 0 0-24.69888 69.0688c0 60.16 48.768 108.92288 108.91776 108.92288 60.16 0 108.91776-48.76288 108.91776-108.92288 0-60.14976-48.75776-108.91776-108.91776-108.91776a108.80512 108.80512 0 0 0-36.69504 6.3488l-93.07136-132.48a108.48768 108.48768 0 0 0 24.79616-72.22784l136.09984-37.888c18.99008 31.93856 53.84192 53.3504 93.69088 53.3504 60.16 0 108.92288-48.75776 108.92288-108.91264-0.00512-60.15488-48.77312-108.92288-108.92288-108.92288z\" p-id=\"2022\"></path></svg>', Hn = '<?xml version=\"1.0\" standalone=\"no\"?><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg t=\"1750169375313\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"1775\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"200\" height=\"200\"><path d=\"M639 463.30000001L639 285.1c0-36.90000001-26.4-68.5-61.3-68.5l-150.2 0c-1.5 0-3 0.1-4.5 0.3-10.2-38.7-45.5-67.3-87.5-67.3-50 0-90.5 40.5-90.5 90.5s40.5 90.5 90.5 90.5c42 0 77.3-28.6 87.5-67.39999999 1.4 0.3 2.9 0.4 4.5 0.39999999L577.7 263.6c6.8 0 14.3 8.9 14.3 21.49999999l0 427.00000001c0 12.7-7.40000001 21.5-14.30000001 21.5l-150.19999999 0c-1.5 0-3 0.2-4.5 0.4-10.2-38.8-45.5-67.3-87.5-67.3-50 0-90.5 40.5-90.5 90.4 0 49.9 40.5 90.6 90.5 90.59999999 42 0 77.3-28.6 87.5-67.39999999 1.4 0.2 2.9 0.4 4.49999999 0.4L577.7 780.7c34.80000001 0 61.3-31.6 61.3-68.50000001L639 510.3l79.1 0c10.4 38.5 45.49999999 67 87.4 67 50 0 90.5-40.5 90.5-90.5s-40.5-90.5-90.5-90.5c-41.79999999 0-77.00000001 28.4-87.4 67L639 463.30000001z\" fill=\"currentColor\" p-id=\"1776\"></path></svg>', jn = '<?xml version=\"1.0\" standalone=\"no\"?><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg t=\"1750169667709\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"3037\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"200\" height=\"200\"><path d=\"M385 560.69999999L385 738.9c0 36.90000001 26.4 68.5 61.3 68.5l150.2 0c1.5 0 3-0.1 4.5-0.3 10.2 38.7 45.5 67.3 87.5 67.3 50 0 90.5-40.5 90.5-90.5s-40.5-90.5-90.5-90.5c-42 0-77.3 28.6-87.5 67.39999999-1.4-0.3-2.9-0.4-4.5-0.39999999L446.3 760.4c-6.8 0-14.3-8.9-14.3-21.49999999l0-427.00000001c0-12.7 7.40000001-21.5 14.30000001-21.5l150.19999999 0c1.5 0 3-0.2 4.5-0.4 10.2 38.8 45.5 67.3 87.5 67.3 50 0 90.5-40.5 90.5-90.4 0-49.9-40.5-90.6-90.5-90.59999999-42 0-77.3 28.6-87.5 67.39999999-1.4-0.2-2.9-0.4-4.49999999-0.4L446.3 243.3c-34.80000001 0-61.3 31.6-61.3 68.50000001L385 513.7l-79.1 0c-10.4-38.5-45.49999999-67-87.4-67-50 0-90.5 40.5-90.5 90.5s40.5 90.5 90.5 90.5c41.79999999 0 77.00000001-28.4 87.4-67L385 560.69999999z\" fill=\"currentColor\" p-id=\"3038\"></path></svg>', In = '<?xml version=\"1.0\" standalone=\"no\"?><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg t=\"1750169402629\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"2170\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"200\" height=\"200\"><path d=\"M639.328 416c8.032 0 16.096-3.008 22.304-9.056l202.624-197.184-0.8 143.808c-0.096 17.696 14.144 32.096 31.808 32.192 0.064 0 0.128 0 0.192 0 17.6 0 31.904-14.208 32-31.808l1.248-222.208c0-0.672-0.352-1.248-0.384-1.92 0.032-0.512 0.288-0.896 0.288-1.408 0.032-17.664-14.272-32-31.968-32.032L671.552 96l-0.032 0c-17.664 0-31.968 14.304-32 31.968C639.488 145.632 653.824 160 671.488 160l151.872 0.224-206.368 200.8c-12.672 12.32-12.928 32.608-0.64 45.248C622.656 412.736 630.976 416 639.328 416z\" p-id=\"2171\"></path><path d=\"M896.032 639.552 896.032 639.552c-17.696 0-32 14.304-32.032 31.968l-0.224 151.872-200.832-206.4c-12.32-12.64-32.576-12.96-45.248-0.64-12.672 12.352-12.928 32.608-0.64 45.248l197.184 202.624-143.808-0.8c-0.064 0-0.128 0-0.192 0-17.6 0-31.904 14.208-32 31.808-0.096 17.696 14.144 32.096 31.808 32.192l222.24 1.248c0.064 0 0.128 0 0.192 0 0.64 0 1.12-0.32 1.76-0.352 0.512 0.032 0.896 0.288 1.408 0.288l0.032 0c17.664 0 31.968-14.304 32-31.968L928 671.584C928.032 653.952 913.728 639.584 896.032 639.552z\" p-id=\"2172\"></path><path d=\"M209.76 159.744l143.808 0.8c0.064 0 0.128 0 0.192 0 17.6 0 31.904-14.208 32-31.808 0.096-17.696-14.144-32.096-31.808-32.192L131.68 95.328c-0.064 0-0.128 0-0.192 0-0.672 0-1.248 0.352-1.888 0.384-0.448 0-0.8-0.256-1.248-0.256 0 0-0.032 0-0.032 0-17.664 0-31.968 14.304-32 31.968L96 352.448c-0.032 17.664 14.272 32 31.968 32.032 0 0 0.032 0 0.032 0 17.664 0 31.968-14.304 32-31.968l0.224-151.936 200.832 206.4c6.272 6.464 14.624 9.696 22.944 9.696 8.032 0 16.096-3.008 22.304-9.056 12.672-12.32 12.96-32.608 0.64-45.248L209.76 159.744z\" p-id=\"2173\"></path><path d=\"M362.368 617.056l-202.624 197.184 0.8-143.808c0.096-17.696-14.144-32.096-31.808-32.192-0.064 0-0.128 0-0.192 0-17.6 0-31.904 14.208-32 31.808l-1.248 222.24c0 0.704 0.352 1.312 0.384 2.016 0 0.448-0.256 0.832-0.256 1.312-0.032 17.664 14.272 32 31.968 32.032L352.448 928c0 0 0.032 0 0.032 0 17.664 0 31.968-14.304 32-31.968s-14.272-32-31.968-32.032l-151.936-0.224 206.4-200.832c12.672-12.352 12.96-32.608 0.64-45.248S375.008 604.704 362.368 617.056z\" p-id=\"2174\"></path></svg>', Rn = '<?xml version=\"1.0\" standalone=\"no\"?><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg t=\"1750169573443\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"2883\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"200\" height=\"200\"><path d=\"M514.133333 488.533333m-106.666666 0a106.666667 106.666667 0 1 0 213.333333 0 106.666667 106.666667 0 1 0-213.333333 0Z\" fill=\"currentColor\" p-id=\"2884\"></path><path d=\"M512 64C264.533333 64 64 264.533333 64 512c0 236.8 183.466667 428.8 416 445.866667v-134.4c-53.333333-59.733333-200.533333-230.4-200.533333-334.933334 0-130.133333 104.533333-234.666667 234.666666-234.666666s234.666667 104.533333 234.666667 234.666666c0 61.866667-49.066667 153.6-145.066667 270.933334l-59.733333 68.266666V960C776.533333 942.933333 960 748.8 960 512c0-247.466667-200.533333-448-448-448z\" fill=\"currentColor\" p-id=\"2885\"></path></svg>', Bn = '<?xml version=\"1.0\" standalone=\"no\"?><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg t=\"1750169419447\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"2480\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"200\" height=\"200\"><path d=\"M863.328 482.56l-317.344-1.12L545.984 162.816c0-17.664-14.336-32-32-32s-32 14.336-32 32l0 318.4L159.616 480.064c-0.032 0-0.064 0-0.096 0-17.632 0-31.936 14.24-32 31.904C127.424 529.632 141.728 544 159.392 544.064l322.592 1.152 0 319.168c0 17.696 14.336 32 32 32s32-14.304 32-32l0-318.944 317.088 1.12c0.064 0 0.096 0 0.128 0 17.632 0 31.936-14.24 32-31.904C895.264 496.992 880.96 482.624 863.328 482.56z\" p-id=\"2481\"></path></svg>', Yn = '<?xml version=\"1.0\" standalone=\"no\"?><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\"><svg t=\"1750169426515\" class=\"icon\" viewBox=\"0 0 1024 1024\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\" p-id=\"2730\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"200\" height=\"200\"><path d=\"M863.744 544 163.424 544c-17.664 0-32-14.336-32-32s14.336-32 32-32l700.32 0c17.696 0 32 14.336 32 32S881.44 544 863.744 544z\" p-id=\"2731\"></path></svg>', Wn = {\n  side: $n,\n  left: Hn,\n  right: jn,\n  full: In,\n  living: Rn,\n  zoomin: Bn,\n  zoomout: Yn\n}, G = (e, t) => {\n  const n = document.createElement(\"span\");\n  return n.id = e, n.innerHTML = Wn[t], n;\n};\nfunction Xn(e) {\n  const t = document.createElement(\"div\"), n = G(\"fullscreen\", \"full\"), o = G(\"toCenter\", \"living\"), s = G(\"zoomout\", \"zoomout\"), i = G(\"zoomin\", \"zoomin\");\n  t.appendChild(n), t.appendChild(o), t.appendChild(s), t.appendChild(i), t.className = \"mind-elixir-toolbar rb\";\n  let l = null;\n  const c = () => {\n    const a = e.container.getBoundingClientRect(), d = Se(e.map.style.transform), h = a.width / 2, u = a.height / 2, y = (h - d.x) / e.scaleVal, b = (u - d.y) / e.scaleVal;\n    l = {\n      containerRect: a,\n      currentTransform: d,\n      mapCenterX: y,\n      mapCenterY: b\n    };\n  }, r = () => {\n    if (l) {\n      const a = e.container.getBoundingClientRect(), d = a.width / 2, h = a.height / 2, u = d - l.mapCenterX * e.scaleVal, y = h - l.mapCenterY * e.scaleVal, b = u - l.currentTransform.x, p = y - l.currentTransform.y;\n      e.move(b, p);\n    }\n  };\n  return e.el.addEventListener(\"fullscreenchange\", r), n.onclick = () => {\n    c(), document.fullscreenElement !== e.el ? e.el.requestFullscreen() : document.exitFullscreen();\n  }, o.onclick = () => {\n    e.toCenter();\n  }, s.onclick = () => {\n    e.scale(e.scaleVal - e.scaleSensitivity);\n  }, i.onclick = () => {\n    e.scale(e.scaleVal + e.scaleSensitivity);\n  }, t;\n}\nfunction Fn(e) {\n  const t = document.createElement(\"div\"), n = G(\"tbltl\", \"left\"), o = G(\"tbltr\", \"right\"), s = G(\"tblts\", \"side\");\n  return t.appendChild(n), t.appendChild(o), t.appendChild(s), t.className = \"mind-elixir-toolbar lt\", n.onclick = () => {\n    e.initLeft();\n  }, o.onclick = () => {\n    e.initRight();\n  }, s.onclick = () => {\n    e.initSide();\n  }, t;\n}\nfunction Gn(e) {\n  e.container.append(Xn(e)), e.container.append(Fn(e));\n}\nclass Vn {\n  _listeners = /* @__PURE__ */ new Map();\n  addEventListener(t, n) {\n    const o = this._listeners.get(t) ?? /* @__PURE__ */ new Set();\n    return this._listeners.set(t, o), o.add(n), this;\n  }\n  removeEventListener(t, n) {\n    return this._listeners.get(t)?.delete(n), this;\n  }\n  dispatchEvent(t, ...n) {\n    let o = !0;\n    for (const s of this._listeners.get(t) ?? [])\n      o = s(...n) !== !1 && o;\n    return o;\n  }\n  unbindAllListeners() {\n    this._listeners.clear();\n  }\n  // Let's also support on, off and emit like node\n  on = this.addEventListener;\n  off = this.removeEventListener;\n  emit = this.dispatchEvent;\n}\nconst Be = (e, t = \"px\") => typeof e == \"number\" ? e + t : e, Y = ({ style: e }, t, n) => {\n  if (typeof t == \"object\")\n    for (const [o, s] of Object.entries(t))\n      s !== void 0 && (e[o] = Be(s));\n  else n !== void 0 && (e[t] = Be(n));\n}, Ye = (e = 0, t = 0, n = 0, o = 0) => {\n  const s = { x: e, y: t, width: n, height: o, top: t, left: e, right: e + n, bottom: t + o };\n  return { ...s, toJSON: () => JSON.stringify(s) };\n}, zn = (e) => {\n  let t, n = -1, o = !1;\n  return {\n    next: (...s) => {\n      t = s, o || (o = !0, n = requestAnimationFrame(() => {\n        e(...t), o = !1;\n      }));\n    },\n    cancel: () => {\n      cancelAnimationFrame(n), o = !1;\n    }\n  };\n}, We = (e, t, n = \"touch\") => {\n  switch (n) {\n    case \"center\": {\n      const o = t.left + t.width / 2, s = t.top + t.height / 2;\n      return o >= e.left && o <= e.right && s >= e.top && s <= e.bottom;\n    }\n    case \"cover\":\n      return t.left >= e.left && t.top >= e.top && t.right <= e.right && t.bottom <= e.bottom;\n    case \"touch\":\n      return e.right >= t.left && e.left <= t.right && e.bottom >= t.top && e.top <= t.bottom;\n  }\n}, Kn = () => matchMedia(\"(hover: none), (pointer: coarse)\").matches, qn = () => \"safari\" in window, be = (e) => Array.isArray(e) ? e : [e], at = (e) => (t, n, o, s = {}) => {\n  (t instanceof HTMLCollection || t instanceof NodeList) && (t = Array.from(t)), n = be(n), t = be(t);\n  for (const i of t)\n    if (i)\n      for (const l of n)\n        i[e](l, o, { capture: !1, ...s });\n}, W = at(\"addEventListener\"), $ = at(\"removeEventListener\"), ne = (e) => {\n  const { clientX: t, clientY: n, target: o } = e.touches?.[0] ?? e;\n  return { x: t, y: n, target: o };\n}, K = (e, t = document) => be(e).map((n) => typeof n == \"string\" ? Array.from(t.querySelectorAll(n)) : n instanceof Element ? n : null).flat().filter(Boolean), Un = (e, t) => t.some((n) => typeof n == \"number\" ? e.button === n : typeof n == \"object\" ? n.button !== e.button ? !1 : n.modifiers.every((o) => {\n  switch (o) {\n    case \"alt\":\n      return e.altKey;\n    case \"ctrl\":\n      return e.ctrlKey || e.metaKey;\n    case \"shift\":\n      return e.shiftKey;\n  }\n}) : !1), { abs: F, max: Xe, min: Fe, ceil: Ge } = Math, Ve = (e = []) => ({\n  stored: e,\n  selected: [],\n  touched: [],\n  changed: { added: [], removed: [] }\n});\nclass Jn extends Vn {\n  static version = \"mind-elixir-fork\";\n  // Options\n  _options;\n  // Selection store\n  _selection = Ve();\n  // Area element and clipping element\n  _area;\n  _clippingElement;\n  // Target container (element) and boundary (cached)\n  _targetElement;\n  _targetBoundary;\n  _targetBoundaryScrolled = !0;\n  _targetRect;\n  _selectables = [];\n  _latestElement;\n  // Dynamically constructed area rect\n  _areaLocation = { y1: 0, x2: 0, y2: 0, x1: 0 };\n  _areaRect = Ye();\n  // If a single click is being performed, it's a single-click until the user dragged the mouse\n  _singleClick = !0;\n  _frame;\n  // Required data for scrolling\n  _scrollAvailable = !0;\n  _scrollingActive = !1;\n  _scrollSpeed = { x: 0, y: 0 };\n  _scrollDelta = { x: 0, y: 0 };\n  // Required for keydown scrolling\n  _lastMousePosition = { x: 0, y: 0 };\n  constructor(t) {\n    super(), this._options = {\n      selectionAreaClass: \"selection-area\",\n      selectionContainerClass: void 0,\n      selectables: [],\n      document: window.document,\n      startAreas: [\"html\"],\n      boundaries: [\"html\"],\n      container: \"body\",\n      mindElixirInstance: void 0,\n      // 添加默认值\n      ...t,\n      behaviour: {\n        overlap: \"invert\",\n        intersect: \"touch\",\n        triggers: [0],\n        ...t.behaviour,\n        startThreshold: t.behaviour?.startThreshold ? typeof t.behaviour.startThreshold == \"number\" ? t.behaviour.startThreshold : { x: 10, y: 10, ...t.behaviour.startThreshold } : { x: 10, y: 10 },\n        scrolling: {\n          speedDivider: 10,\n          manualSpeed: 750,\n          ...t.behaviour?.scrolling,\n          startScrollMargins: {\n            x: 0,\n            y: 0,\n            ...t.behaviour?.scrolling?.startScrollMargins\n          }\n        }\n      },\n      features: {\n        range: !0,\n        touch: !0,\n        deselectOnBlur: !1,\n        ...t.features,\n        singleTap: {\n          allow: !0,\n          intersect: \"native\",\n          ...t.features?.singleTap\n        }\n      }\n    };\n    for (const i of Object.getOwnPropertyNames(Object.getPrototypeOf(this)))\n      typeof this[i] == \"function\" && (this[i] = this[i].bind(this));\n    const { document: n, selectionAreaClass: o, selectionContainerClass: s } = this._options;\n    this._area = n.createElement(\"div\"), this._clippingElement = n.createElement(\"div\"), this._clippingElement.appendChild(this._area), this._area.classList.add(o), s && this._clippingElement.classList.add(s), Y(this._area, {\n      willChange: \"top, left, bottom, right, width, height\",\n      top: 0,\n      left: 0,\n      position: \"fixed\"\n    }), Y(this._clippingElement, {\n      overflow: \"hidden\",\n      position: \"fixed\",\n      transform: \"translate3d(0, 0, 0)\",\n      // https://stackoverflow.com/a/38268846\n      pointerEvents: \"none\",\n      zIndex: \"1\"\n    }), this._frame = zn((i) => {\n      this._recalculateSelectionAreaRect(), this._updateElementSelection(), this._emitEvent(\"move\", i), this._redrawSelectionArea();\n    }), this.enable();\n  }\n  _toggleStartEvents(t = !0) {\n    const { document: n, features: o } = this._options, s = t ? W : $;\n    s(n, \"mousedown\", this._onTapStart), o.touch && s(n, \"touchstart\", this._onTapStart, { passive: !1 });\n  }\n  _onTapStart(t, n = !1) {\n    const { x: o, y: s, target: i } = ne(t), { document: l, startAreas: c, boundaries: r, features: a, behaviour: d } = this._options, h = i.getBoundingClientRect();\n    if (t instanceof MouseEvent && !Un(t, d.triggers))\n      return;\n    const u = K(c, l), y = K(r, l);\n    this._targetElement = y.find((m) => We(m.getBoundingClientRect(), h));\n    const b = t.composedPath(), p = u.find((m) => b.includes(m));\n    if (this._targetBoundary = y.find((m) => b.includes(m)), !this._targetElement || !p || !this._targetBoundary || !n && this._emitEvent(\"beforestart\", t) === !1)\n      return;\n    this._areaLocation = { x1: o, y1: s, x2: 0, y2: 0 };\n    const g = l.scrollingElement ?? l.body;\n    this._scrollDelta = { x: g.scrollLeft, y: g.scrollTop }, this._singleClick = !0, this.clearSelection(!1, !0), W(l, [\"touchmove\", \"mousemove\"], this._delayedTapMove, { passive: !1 }), W(l, [\"mouseup\", \"touchcancel\", \"touchend\"], this._onTapStop), W(l, \"scroll\", this._onScroll), a.deselectOnBlur && (this._targetBoundaryScrolled = !1, W(this._targetBoundary, \"scroll\", this._onStartAreaScroll));\n  }\n  _onSingleTap(t) {\n    const {\n      singleTap: { intersect: n },\n      range: o\n    } = this._options.features, s = ne(t);\n    let i;\n    if (n === \"native\")\n      i = s.target;\n    else if (n === \"touch\") {\n      this.resolveSelectables();\n      const { x: c, y: r } = s;\n      i = this._selectables.find((a) => {\n        const { right: d, left: h, top: u, bottom: y } = a.getBoundingClientRect();\n        return c < d && c > h && r < y && r > u;\n      });\n    }\n    if (!i)\n      return;\n    for (this.resolveSelectables(); !this._selectables.includes(i); )\n      if (i.parentElement)\n        i = i.parentElement;\n      else {\n        this._targetBoundaryScrolled || this.clearSelection();\n        return;\n      }\n    const { stored: l } = this._selection;\n    if (this._emitEvent(\"start\", t), t.shiftKey && o && this._latestElement) {\n      const c = this._latestElement, [r, a] = c.compareDocumentPosition(i) & 4 ? [i, c] : [c, i], d = [\n        ...this._selectables.filter((h) => h.compareDocumentPosition(r) & 4 && h.compareDocumentPosition(a) & 2),\n        r,\n        a\n      ];\n      this.select(d), this._latestElement = c;\n    } else l.includes(i) && (l.length === 1 || t.ctrlKey || l.every((c) => this._selection.stored.includes(c))) ? this.deselect(i) : (this.select(i), this._latestElement = i);\n  }\n  _delayedTapMove(t) {\n    const {\n      container: n,\n      document: o,\n      behaviour: { startThreshold: s }\n    } = this._options, { x1: i, y1: l } = this._areaLocation, { x: c, y: r } = ne(t);\n    if (\n      // Single number for both coordinates\n      typeof s == \"number\" && F(c + r - (i + l)) >= s || // Different x and y threshold\n      typeof s == \"object\" && F(c - i) >= s.x || F(r - l) >= s.y\n    ) {\n      if ($(o, [\"mousemove\", \"touchmove\"], this._delayedTapMove, { passive: !1 }), this._emitEvent(\"beforedrag\", t) === !1) {\n        $(o, [\"mouseup\", \"touchcancel\", \"touchend\"], this._onTapStop);\n        return;\n      }\n      W(o, [\"mousemove\", \"touchmove\"], this._onTapMove, { passive: !1 }), Y(this._area, \"display\", \"block\"), K(n, o)[0].appendChild(this._clippingElement), this.resolveSelectables(), this._singleClick = !1, this._targetRect = this._targetElement.getBoundingClientRect(), this._scrollAvailable = this._targetElement.scrollHeight !== this._targetElement.clientHeight || this._targetElement.scrollWidth !== this._targetElement.clientWidth, this._scrollAvailable && (W(this._targetElement, \"wheel\", this._wheelScroll, { passive: !1 }), W(this._options.document, \"keydown\", this._keyboardScroll, { passive: !1 }), this._selectables = this._selectables.filter((a) => this._targetElement.contains(a))), this._setupSelectionArea(), this._emitEvent(\"start\", t), this._onTapMove(t);\n    }\n    this._handleMoveEvent(t);\n  }\n  _setupSelectionArea() {\n    const { _clippingElement: t, _targetElement: n, _area: o } = this, s = this._targetRect = n.getBoundingClientRect();\n    this._scrollAvailable ? (Y(t, {\n      top: s.top,\n      left: s.left,\n      width: s.width,\n      height: s.height\n    }), Y(o, {\n      marginTop: -s.top,\n      marginLeft: -s.left\n    })) : (Y(t, {\n      top: 0,\n      left: 0,\n      width: \"100%\",\n      height: \"100%\"\n    }), Y(o, {\n      marginTop: 0,\n      marginLeft: 0\n    }));\n  }\n  _onTapMove(t) {\n    const { _scrollSpeed: n, _areaLocation: o, _options: s, _frame: i } = this, { speedDivider: l } = s.behaviour.scrolling;\n    this._targetElement;\n    const { x: c, y: r } = ne(t);\n    if (o.x2 = c, o.y2 = r, this._lastMousePosition.x = c, this._lastMousePosition.y = r, this._scrollAvailable && !this._scrollingActive && (n.y || n.x)) {\n      this._scrollingActive = !0;\n      const a = () => {\n        if (!n.x && !n.y) {\n          this._scrollingActive = !1;\n          return;\n        }\n        const d = this._options.mindElixirInstance;\n        if (d && d.move) {\n          const h = n.x ? Ge(n.x / l) : 0, u = n.y ? Ge(n.y / l) : 0;\n          (h || u) && (d.move(-h, -u), o.x1 -= h, o.y1 -= u);\n        }\n        i.next(t), requestAnimationFrame(a);\n      };\n      requestAnimationFrame(a);\n    } else\n      i.next(t);\n    this._handleMoveEvent(t);\n  }\n  _handleMoveEvent(t) {\n    const { features: n } = this._options;\n    (n.touch && Kn() || this._scrollAvailable && qn()) && t.preventDefault();\n  }\n  _onScroll() {\n    const {\n      _scrollDelta: t,\n      _options: { document: n }\n    } = this, { scrollTop: o, scrollLeft: s } = n.scrollingElement ?? n.body;\n    this._areaLocation.x1 += t.x - s, this._areaLocation.y1 += t.y - o, t.x = s, t.y = o, this._setupSelectionArea(), this._frame.next(null);\n  }\n  _onStartAreaScroll() {\n    this._targetBoundaryScrolled = !0, $(this._targetElement, \"scroll\", this._onStartAreaScroll);\n  }\n  _wheelScroll(t) {\n    const { manualSpeed: n } = this._options.behaviour.scrolling, o = t.deltaY ? t.deltaY > 0 ? 1 : -1 : 0, s = t.deltaX ? t.deltaX > 0 ? 1 : -1 : 0;\n    this._scrollSpeed.y += o * n, this._scrollSpeed.x += s * n, this._onTapMove(t), t.preventDefault();\n  }\n  _keyboardScroll(t) {\n    const { manualSpeed: n } = this._options.behaviour.scrolling, o = t.key === \"ArrowLeft\" ? -1 : t.key === \"ArrowRight\" ? 1 : 0, s = t.key === \"ArrowUp\" ? -1 : t.key === \"ArrowDown\" ? 1 : 0;\n    this._scrollSpeed.x += Math.sign(o) * n, this._scrollSpeed.y += Math.sign(s) * n, t.preventDefault(), this._onTapMove({\n      clientX: this._lastMousePosition.x,\n      clientY: this._lastMousePosition.y,\n      preventDefault: () => {\n      }\n    });\n  }\n  _recalculateSelectionAreaRect() {\n    const { _scrollSpeed: t, _areaLocation: n, _targetElement: o, _options: s } = this, i = this._targetRect, { x1: l, y1: c } = n;\n    let { x2: r, y2: a } = n;\n    const {\n      behaviour: {\n        scrolling: { startScrollMargins: d }\n      }\n    } = s;\n    r < i.left + d.x ? (t.x = -F(i.left - r + d.x), r = r < i.left ? i.left : r) : r > i.right - d.x ? (t.x = F(i.left + i.width - r - d.x), r = r > i.right ? i.right : r) : t.x = 0, a < i.top + d.y ? (t.y = -F(i.top - a + d.y), a = a < i.top ? i.top : a) : a > i.bottom - d.y ? (t.y = F(i.top + i.height - a - d.y), a = a > i.bottom ? i.bottom : a) : t.y = 0;\n    const h = Fe(l, r), u = Fe(c, a), y = Xe(l, r), b = Xe(c, a);\n    this._areaRect = Ye(h, u, y - h, b - u);\n  }\n  _redrawSelectionArea() {\n    const { x: t, y: n, width: o, height: s } = this._areaRect, { style: i } = this._area;\n    i.left = `${t}px`, i.top = `${n}px`, i.width = `${o}px`, i.height = `${s}px`;\n  }\n  _onTapStop(t, n) {\n    const { document: o, features: s } = this._options, { _singleClick: i } = this;\n    $(this._targetElement, \"scroll\", this._onStartAreaScroll), $(o, [\"mousemove\", \"touchmove\"], this._delayedTapMove), $(o, [\"touchmove\", \"mousemove\"], this._onTapMove), $(o, [\"mouseup\", \"touchcancel\", \"touchend\"], this._onTapStop), $(o, \"scroll\", this._onScroll), this._keepSelection(), t && i && s.singleTap.allow ? this._onSingleTap(t) : !i && !n && (this._updateElementSelection(), this._emitEvent(\"stop\", t)), this._scrollSpeed.x = 0, this._scrollSpeed.y = 0, $(this._targetElement, \"wheel\", this._wheelScroll, { passive: !0 }), $(this._options.document, \"keydown\", this._keyboardScroll, { passive: !0 }), this._clippingElement.remove(), this._frame?.cancel(), Y(this._area, \"display\", \"none\");\n  }\n  _updateElementSelection() {\n    const { _selectables: t, _options: n, _selection: o, _areaRect: s } = this, { stored: i, selected: l, touched: c } = o, { intersect: r, overlap: a } = n.behaviour, d = a === \"invert\", h = [], u = [], y = [];\n    for (let p = 0; p < t.length; p++) {\n      const g = t[p];\n      if (We(s, g.getBoundingClientRect(), r)) {\n        if (l.includes(g))\n          i.includes(g) && !c.includes(g) && c.push(g);\n        else if (d && i.includes(g)) {\n          y.push(g);\n          continue;\n        } else\n          u.push(g);\n        h.push(g);\n      }\n    }\n    d && u.push(...i.filter((p) => !l.includes(p)));\n    const b = a === \"keep\";\n    for (let p = 0; p < l.length; p++) {\n      const g = l[p];\n      !h.includes(g) && !// Check if the user wants to keep previously selected elements, e.g.,\n      // not make them part of the current selection as soon as they're touched.\n      (b && i.includes(g)) && y.push(g);\n    }\n    o.selected = h, o.changed = { added: u, removed: y }, this._latestElement = void 0;\n  }\n  _emitEvent(t, n) {\n    return this.emit(t, {\n      event: n,\n      store: this._selection,\n      selection: this\n    });\n  }\n  _keepSelection() {\n    const { _options: t, _selection: n } = this, { selected: o, changed: s, touched: i, stored: l } = n, c = o.filter((r) => !l.includes(r));\n    switch (t.behaviour.overlap) {\n      case \"drop\": {\n        n.stored = [\n          ...c,\n          ...l.filter((r) => !i.includes(r))\n          // Elements not touched\n        ];\n        break;\n      }\n      case \"invert\": {\n        n.stored = [\n          ...c,\n          ...l.filter((r) => !s.removed.includes(r))\n          // Elements not removed from selection\n        ];\n        break;\n      }\n      case \"keep\": {\n        n.stored = [\n          ...l,\n          ...o.filter((r) => !l.includes(r))\n          // Newly added\n        ];\n        break;\n      }\n    }\n  }\n  /**\n   * Manually triggers the start of a selection\n   * @param evt A MouseEvent / TouchEvent-like object\n   * @param silent If beforestart should be fired\n   */\n  trigger(t, n = !0) {\n    this._onTapStart(t, n);\n  }\n  /**\n   * Can be used if during a selection elements have been added\n   * Will update everything that can be selected\n   */\n  resolveSelectables() {\n    this._selectables = K(this._options.selectables, this._options.document);\n  }\n  /**\n   * Same as deselecting, but for all elements currently selected\n   * @param includeStored If the store should also get cleared\n   * @param quiet If move / stop events should be fired\n   */\n  clearSelection(t = !0, n = !1) {\n    const { selected: o, stored: s, changed: i } = this._selection;\n    i.added = [], i.removed.push(...o, ...t ? s : []), n || (this._emitEvent(\"move\", null), this._emitEvent(\"stop\", null)), this._selection = Ve(t ? [] : s);\n  }\n  /**\n   * @returns {Array} Selected elements\n   */\n  getSelection() {\n    return this._selection.stored;\n  }\n  /**\n   * @returns {HTMLElement} The selection area element\n   */\n  getSelectionArea() {\n    return this._area;\n  }\n  /**\n   * @returns {Element[]} Available selectable elements for current selection\n   */\n  getSelectables() {\n    return this._selectables;\n  }\n  /**\n   * Set the location of the selection area\n   * @param location A partial AreaLocation object\n   */\n  setAreaLocation(t) {\n    Object.assign(this._areaLocation, t), this._redrawSelectionArea();\n  }\n  /**\n   * @returns {AreaLocation} The current location of the selection area\n   */\n  getAreaLocation() {\n    return this._areaLocation;\n  }\n  /**\n   * Cancel the current selection process, pass true to fire a stop event after cancel\n   * @param keepEvent If a stop event should be fired\n   */\n  cancel(t = !1) {\n    this._onTapStop(null, !t);\n  }\n  /**\n   * Unbinds all events and removes the area-element.\n   */\n  destroy() {\n    this.cancel(), this.disable(), this._clippingElement.remove(), super.unbindAllListeners();\n  }\n  /**\n   * Enable selecting elements\n   */\n  enable = this._toggleStartEvents;\n  /**\n   * Disable selecting elements\n   */\n  disable = this._toggleStartEvents.bind(this, !1);\n  /**\n   * Adds elements to the selection\n   * @param query CSS Query, can be an array of queries\n   * @param quiet If this should not trigger the move event\n   */\n  select(t, n = !1) {\n    const { changed: o, selected: s, stored: i } = this._selection, l = K(t, this._options.document).filter((c) => !s.includes(c) && !i.includes(c));\n    return i.push(...l), s.push(...l), o.added.push(...l), o.removed = [], this._latestElement = void 0, n || (this._emitEvent(\"move\", null), this._emitEvent(\"stop\", null)), l;\n  }\n  /**\n   * Removes a particular element from the selection\n   * @param query CSS Query, can be an array of queries\n   * @param quiet If this should not trigger the move event\n   */\n  deselect(t, n = !1) {\n    const { selected: o, stored: s, changed: i } = this._selection, l = K(t, this._options.document).filter((c) => o.includes(c) || s.includes(c));\n    this._selection.stored = s.filter((c) => !l.includes(c)), this._selection.selected = o.filter((c) => !l.includes(c)), this._selection.changed.added = [], this._selection.changed.removed.push(...l.filter((c) => !i.removed.includes(c))), this._latestElement = void 0, n || (this._emitEvent(\"move\", null), this._emitEvent(\"stop\", null));\n  }\n}\nfunction Zn(e) {\n  const t = e.mouseSelectionButton === 2 ? [2] : [0], n = new Jn({\n    selectables: [\".map-container me-tpc\"],\n    boundaries: [e.container],\n    container: e.selectionContainer,\n    mindElixirInstance: e,\n    // 传递 MindElixir 实例\n    features: {\n      // deselectOnBlur: true,\n      touch: !1\n    },\n    behaviour: {\n      triggers: t,\n      // Scroll configuration.\n      scrolling: {\n        // On scrollable areas the number on px per frame is devided by this amount.\n        // Default is 10 to provide a enjoyable scroll experience.\n        speedDivider: 10,\n        startScrollMargins: { x: 50, y: 50 }\n      }\n    }\n  }).on(\"beforestart\", ({ event: o }) => {\n    if (!e.editable || e.spacePressed) return !1;\n    const s = o.target;\n    if (s.id === \"input-box\" || s.className === \"circle\" || e.container.querySelector(\".context-menu\")?.contains(s))\n      return !1;\n    if (!o.ctrlKey && !o.metaKey) {\n      if (s.tagName === \"ME-TPC\" && s.classList.contains(\"selected\"))\n        return !1;\n      e.clearSelection();\n    }\n    const i = n.getSelectionArea();\n    return i.style.background = \"#4f90f22d\", i.style.border = \"1px solid #4f90f2\", i.parentElement && (i.parentElement.style.zIndex = \"9999\"), !0;\n  }).on(\n    \"move\",\n    ({\n      store: {\n        changed: { added: o, removed: s }\n      }\n    }) => {\n      if (o.length > 0 || s.length > 0, o.length > 0) {\n        for (const i of o)\n          i.className = \"selected\";\n        e.currentNodes = [...e.currentNodes, ...o], e.bus.fire(\n          \"selectNodes\",\n          o.map((i) => i.nodeObj)\n        );\n      }\n      if (s.length > 0) {\n        for (const i of s)\n          i.classList.remove(\"selected\");\n        e.currentNodes = e.currentNodes.filter((i) => !s?.includes(i)), e.bus.fire(\n          \"unselectNodes\",\n          s.map((i) => i.nodeObj)\n        );\n      }\n    }\n  );\n  e.selection = n;\n}\nconst Qn = function(e, t = !0) {\n  this.theme = e;\n  const o = {\n    ...(e.type === \"dark\" ? we : ve).cssVar,\n    ...e.cssVar\n  }, s = Object.keys(o);\n  for (let i = 0; i < s.length; i++) {\n    const l = s[i];\n    this.container.style.setProperty(l, o[l]);\n  }\n  t && this.refresh();\n}, eo = function(e) {\n  return {\n    dom: e,\n    moved: !1,\n    // differentiate click and move\n    pointerdown: !1,\n    lastX: 0,\n    lastY: 0,\n    handlePointerMove(t) {\n      if (this.pointerdown) {\n        this.moved = !0;\n        const n = t.clientX - this.lastX, o = t.clientY - this.lastY;\n        this.lastX = t.clientX, this.lastY = t.clientY, this.cb && this.cb(n, o);\n      }\n    },\n    handlePointerDown(t) {\n      t.button === 0 && (this.pointerdown = !0, this.lastX = t.clientX, this.lastY = t.clientY, this.dom.setPointerCapture(t.pointerId));\n    },\n    handleClear(t) {\n      this.pointerdown = !1, t.pointerId !== void 0 && this.dom.releasePointerCapture(t.pointerId);\n    },\n    cb: null,\n    init(t, n) {\n      this.cb = n, this.handleClear = this.handleClear.bind(this), this.handlePointerMove = this.handlePointerMove.bind(this), this.handlePointerDown = this.handlePointerDown.bind(this), this.destroy = Je([\n        { dom: t, evt: \"pointermove\", func: this.handlePointerMove },\n        { dom: t, evt: \"pointerleave\", func: this.handleClear },\n        { dom: t, evt: \"pointerup\", func: this.handleClear },\n        { dom: this.dom, evt: \"pointerdown\", func: this.handlePointerDown }\n      ]);\n    },\n    destroy: null,\n    clear() {\n      this.moved = !1, this.pointerdown = !1;\n    }\n  };\n}, ze = {\n  create: eo\n}, to = \"#4dc4ff\";\nfunction dt(e, t, n, o, s, i, l, c) {\n  return {\n    x: e / 8 + n * 3 / 8 + s * 3 / 8 + l / 8,\n    y: t / 8 + o * 3 / 8 + i * 3 / 8 + c / 8\n  };\n}\nfunction no(e, t, n) {\n  e && (e.dataset.x = t.toString(), e.dataset.y = n.toString(), fe(e));\n}\nfunction oe(e, t, n, o, s) {\n  D(e, {\n    x1: t + \"\",\n    y1: n + \"\",\n    x2: o + \"\",\n    y2: s + \"\"\n  });\n}\nfunction Ke(e, t, n, o, s, i, l, c, r, a) {\n  const d = `M ${t} ${n} C ${o} ${s} ${i} ${l} ${c} ${r}`;\n  if (e.line.setAttribute(\"d\", d), a.style) {\n    const p = a.style;\n    p.stroke && e.line.setAttribute(\"stroke\", p.stroke), p.strokeWidth && e.line.setAttribute(\"stroke-width\", String(p.strokeWidth)), p.strokeDasharray && e.line.setAttribute(\"stroke-dasharray\", p.strokeDasharray), p.strokeLinecap && e.line.setAttribute(\"stroke-linecap\", p.strokeLinecap), p.opacity !== void 0 && e.line.setAttribute(\"opacity\", String(p.opacity));\n  }\n  const h = e.querySelectorAll('path[stroke=\"transparent\"]');\n  h.length > 0 && h[0].setAttribute(\"d\", d);\n  const u = ce(i, l, c, r);\n  if (u) {\n    const p = `M ${u.x1} ${u.y1} L ${c} ${r} L ${u.x2} ${u.y2}`;\n    if (e.arrow1.setAttribute(\"d\", p), h.length > 1 && h[1].setAttribute(\"d\", p), a.style) {\n      const g = a.style;\n      g.stroke && e.arrow1.setAttribute(\"stroke\", g.stroke), g.strokeWidth && e.arrow1.setAttribute(\"stroke-width\", String(g.strokeWidth)), g.strokeLinecap && e.arrow1.setAttribute(\"stroke-linecap\", g.strokeLinecap), g.opacity !== void 0 && e.arrow1.setAttribute(\"opacity\", String(g.opacity));\n    }\n  }\n  if (a.bidirectional) {\n    const p = ce(o, s, t, n);\n    if (p) {\n      const g = `M ${p.x1} ${p.y1} L ${t} ${n} L ${p.x2} ${p.y2}`;\n      if (e.arrow2.setAttribute(\"d\", g), h.length > 2 && h[2].setAttribute(\"d\", g), a.style) {\n        const m = a.style;\n        m.stroke && e.arrow2.setAttribute(\"stroke\", m.stroke), m.strokeWidth && e.arrow2.setAttribute(\"stroke-width\", String(m.strokeWidth)), m.strokeLinecap && e.arrow2.setAttribute(\"stroke-linecap\", m.strokeLinecap), m.opacity !== void 0 && e.arrow2.setAttribute(\"opacity\", String(m.opacity));\n      }\n    }\n  }\n  const { x: y, y: b } = dt(t, n, o, s, i, l, c, r);\n  if (e.labelEl && no(e.labelEl, y, b), a.style?.labelColor) {\n    const p = e.labelEl;\n    p && (p.style.color = a.style.labelColor);\n  }\n  fo(e);\n}\nfunction de(e, t, n) {\n  const { offsetLeft: o, offsetTop: s } = H(e.nodes, t), i = t.offsetWidth, l = t.offsetHeight, c = o + i / 2, r = s + l / 2, a = c + n.x, d = r + n.y;\n  return {\n    w: i,\n    h: l,\n    cx: c,\n    cy: r,\n    ctrlX: a,\n    ctrlY: d\n  };\n}\nfunction q(e) {\n  let t, n;\n  const o = (e.cy - e.ctrlY) / (e.ctrlX - e.cx);\n  return o > e.h / e.w || o < -e.h / e.w ? e.cy - e.ctrlY < 0 ? (t = e.cx - e.h / 2 / o, n = e.cy + e.h / 2) : (t = e.cx + e.h / 2 / o, n = e.cy - e.h / 2) : e.cx - e.ctrlX < 0 ? (t = e.cx + e.w / 2, n = e.cy - e.w * o / 2) : (t = e.cx - e.w / 2, n = e.cy + e.w * o / 2), {\n    x: t,\n    y: n\n  };\n}\nconst oo = function(e, t, n) {\n  const o = H(e.nodes, t), s = H(e.nodes, n), i = o.offsetLeft + t.offsetWidth / 2, l = o.offsetTop + t.offsetHeight / 2, c = s.offsetLeft + n.offsetWidth / 2, r = s.offsetTop + n.offsetHeight / 2, a = c - i, d = r - l, h = Math.sqrt(a * a + d * d), u = Math.max(50, Math.min(200, h * 0.3)), y = Math.abs(a), b = Math.abs(d);\n  let p, g;\n  if (h < 150) {\n    const v = t.closest(\"me-main\").className === \"lhs\" ? -1 : 1;\n    p = { x: 200 * v, y: 0 }, g = { x: 200 * v, y: 0 };\n  } else if (y > b * 1.5) {\n    const v = a > 0 ? t.offsetWidth / 2 : -t.offsetWidth / 2, E = a > 0 ? -n.offsetWidth / 2 : n.offsetWidth / 2;\n    p = { x: v + (a > 0 ? u : -u), y: 0 }, g = { x: E + (a > 0 ? -u : u), y: 0 };\n  } else if (b > y * 1.5) {\n    const v = d > 0 ? t.offsetHeight / 2 : -t.offsetHeight / 2, E = d > 0 ? -n.offsetHeight / 2 : n.offsetHeight / 2;\n    p = { x: 0, y: v + (d > 0 ? u : -u) }, g = { x: 0, y: E + (d > 0 ? -u : u) };\n  } else {\n    const v = Math.atan2(d, a), E = t.offsetWidth / 2 * Math.cos(v), k = t.offsetHeight / 2 * Math.sin(v), _ = -(n.offsetWidth / 2) * Math.cos(v), C = -(n.offsetHeight / 2) * Math.sin(v), x = u * 0.7 * (a > 0 ? 1 : -1), N = u * 0.7 * (d > 0 ? 1 : -1);\n    p = { x: E + x, y: k + N }, g = { x: _ - x, y: C - N };\n  }\n  return { delta1: p, delta2: g };\n}, Ae = function(e, t, n, o, s) {\n  if (!t || !n)\n    return;\n  if (!o.delta1 || !o.delta2) {\n    const S = oo(e, t, n);\n    o.delta1 = S.delta1, o.delta2 = S.delta2;\n  }\n  const i = de(e, t, o.delta1), l = de(e, n, o.delta2), { x: c, y: r } = q(i), { ctrlX: a, ctrlY: d } = i, { ctrlX: h, ctrlY: u } = l, { x: y, y: b } = q(l), p = ce(h, u, y, b);\n  if (!p) return;\n  const g = `M ${p.x1} ${p.y1} L ${y} ${b} L ${p.x2} ${p.y2}`;\n  let m = \"\";\n  if (o.bidirectional) {\n    const S = ce(a, d, c, r);\n    if (!S) return;\n    m = `M ${S.x1} ${S.y1} L ${c} ${r} L ${S.x2} ${S.y2}`;\n  }\n  const v = Ln(`M ${c} ${r} C ${a} ${d} ${h} ${u} ${y} ${b}`, g, m, o.style), { x: E, y: k } = dt(c, r, a, d, h, u, y, b), _ = o.style?.labelColor || \"rgb(235, 95, 82)\", C = \"arrow-\" + o.id;\n  v.id = C;\n  const x = e.markdown ? e.markdown(o.label, o) : o.label, N = ye(x, E, k, {\n    anchor: \"middle\",\n    color: _,\n    dataType: \"arrow\",\n    svgId: C\n  });\n  v.labelEl = N, v.arrowObj = o, v.dataset.linkid = o.id, e.labelContainer.appendChild(N), e.linkSvgGroup.appendChild(v), fe(N), s || (e.arrows.push(o), e.currentArrow = v, ht(e, o, i, l));\n}, so = function(e, t, n = {}) {\n  const o = {\n    id: z(),\n    label: \"Custom Link\",\n    from: e.nodeObj.id,\n    to: t.nodeObj.id,\n    ...n\n  };\n  Ae(this, e, t, o), this.bus.fire(\"operation\", {\n    name: \"createArrow\",\n    obj: o\n  });\n}, io = function(e) {\n  ue(this);\n  const t = { ...e, id: z() };\n  Ae(this, this.findEle(t.from), this.findEle(t.to), t), this.bus.fire(\"operation\", {\n    name: \"createArrow\",\n    obj: t\n  });\n}, ro = function(e) {\n  let t;\n  if (e ? t = e : t = this.currentArrow, !t) return;\n  ue(this);\n  const n = t.arrowObj.id;\n  this.arrows = this.arrows.filter((o) => o.id !== n), t.labelEl?.remove(), t.remove(), this.bus.fire(\"operation\", {\n    name: \"removeArrow\",\n    obj: {\n      id: n\n    }\n  });\n}, lo = function(e) {\n  this.currentArrow = e;\n  const t = e.arrowObj, n = this.findEle(t.from), o = this.findEle(t.to), s = de(this, n, t.delta1), i = de(this, o, t.delta2);\n  ht(this, t, s, i);\n}, co = function() {\n  ue(this), this.currentArrow = null;\n}, ge = function(e, t) {\n  const n = document.createElementNS(j, \"path\");\n  return D(n, {\n    d: e,\n    stroke: t,\n    fill: \"none\",\n    \"stroke-width\": \"6\",\n    \"stroke-linecap\": \"round\",\n    \"stroke-linejoin\": \"round\"\n  }), n;\n}, ao = function(e, t) {\n  const n = document.createElementNS(j, \"g\");\n  n.setAttribute(\"class\", \"arrow-highlight\"), n.setAttribute(\"opacity\", \"0.45\");\n  const o = ge(e.line.getAttribute(\"d\"), t);\n  n.appendChild(o);\n  const s = ge(e.arrow1.getAttribute(\"d\"), t);\n  if (n.appendChild(s), e.arrow2.getAttribute(\"d\")) {\n    const i = ge(e.arrow2.getAttribute(\"d\"), t);\n    n.appendChild(i);\n  }\n  e.insertBefore(n, e.firstChild);\n}, ho = function(e) {\n  const t = e.querySelector(\".arrow-highlight\");\n  t && t.remove();\n}, fo = function(e) {\n  const t = e.querySelector(\".arrow-highlight\");\n  if (!t) return;\n  const n = t.querySelectorAll(\"path\");\n  n.length >= 1 && n[0].setAttribute(\"d\", e.line.getAttribute(\"d\")), n.length >= 2 && n[1].setAttribute(\"d\", e.arrow1.getAttribute(\"d\")), n.length >= 3 && e.arrow2.getAttribute(\"d\") && n[2].setAttribute(\"d\", e.arrow2.getAttribute(\"d\"));\n}, ue = function(e) {\n  e.helper1?.destroy(), e.helper2?.destroy(), e.linkController.style.display = \"none\", e.P2.style.display = \"none\", e.P3.style.display = \"none\", e.currentArrow && ho(e.currentArrow);\n}, ht = function(e, t, n, o) {\n  const { linkController: s, P2: i, P3: l, line1: c, line2: r, nodes: a, map: d, currentArrow: h, bus: u } = e;\n  if (!h) return;\n  s.style.display = \"initial\", i.style.display = \"initial\", l.style.display = \"initial\", a.appendChild(s), a.appendChild(i), a.appendChild(l), ao(h, to);\n  let { x: y, y: b } = q(n), { ctrlX: p, ctrlY: g } = n, { ctrlX: m, ctrlY: v } = o, { x: E, y: k } = q(o);\n  i.style.cssText = `top:${g}px;left:${p}px;`, l.style.cssText = `top:${v}px;left:${m}px;`, oe(c, y, b, p, g), oe(r, m, v, E, k), e.helper1 = ze.create(i), e.helper2 = ze.create(l), e.helper1.init(d, (_, C) => {\n    p = p + _ / e.scaleVal, g = g + C / e.scaleVal;\n    const x = q({ ...n, ctrlX: p, ctrlY: g });\n    y = x.x, b = x.y, i.style.top = g + \"px\", i.style.left = p + \"px\", Ke(h, y, b, p, g, m, v, E, k, t), oe(c, y, b, p, g), t.delta1.x = p - n.cx, t.delta1.y = g - n.cy, u.fire(\"updateArrowDelta\", t);\n  }), e.helper2.init(d, (_, C) => {\n    m = m + _ / e.scaleVal, v = v + C / e.scaleVal;\n    const x = q({ ...o, ctrlX: m, ctrlY: v });\n    E = x.x, k = x.y, l.style.top = v + \"px\", l.style.left = m + \"px\", Ke(h, y, b, p, g, m, v, E, k, t), oe(r, m, v, E, k), t.delta2.x = m - o.cx, t.delta2.y = v - o.cy, u.fire(\"updateArrowDelta\", t);\n  });\n};\nfunction uo() {\n  this.linkSvgGroup.innerHTML = \"\", this.labelContainer.querySelectorAll('.svg-label[data-type=\"arrow\"]').forEach((t) => t.remove());\n  for (let t = 0; t < this.arrows.length; t++) {\n    const n = this.arrows[t];\n    try {\n      Ae(this, this.findEle(n.from), this.findEle(n.to), n, !0);\n    } catch {\n    }\n  }\n  this.nodes.appendChild(this.linkSvgGroup);\n}\nfunction po(e) {\n  ue(this), e && e.labelEl && lt(this, e.labelEl, e.arrowObj);\n}\nfunction go() {\n  this.arrows = this.arrows.filter((e) => le(e.from, this.nodeData) && le(e.to, this.nodeData));\n}\nconst mo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n  __proto__: null,\n  createArrow: so,\n  createArrowFrom: io,\n  editArrowLabel: po,\n  removeArrow: ro,\n  renderArrow: uo,\n  selectArrow: lo,\n  tidyArrow: go,\n  unselectArrow: co\n}, Symbol.toStringTag, { value: \"Module\" })), yo = function(e) {\n  if (e.length === 0) throw new Error(\"No selected node.\");\n  if (e.length === 1) {\n    const r = e[0].nodeObj, a = e[0].nodeObj.parent;\n    if (!a) throw new Error(\"Can not select root node.\");\n    const d = a.children.findIndex((h) => r === h);\n    return {\n      parent: a.id,\n      start: d,\n      end: d\n    };\n  }\n  let t = 0;\n  const n = e.map((r) => {\n    let a = r.nodeObj;\n    const d = [];\n    for (; a.parent; ) {\n      const h = a.parent, y = h.children?.indexOf(a);\n      a = h, d.unshift({ node: a, index: y });\n    }\n    return d.length > t && (t = d.length), d;\n  });\n  let o = 0;\n  e: for (; o < t; o++) {\n    const r = n[0][o]?.node;\n    for (let a = 1; a < n.length; a++)\n      if (n[a][o]?.node !== r)\n        break e;\n  }\n  if (!o) throw new Error(\"Can not select root node.\");\n  const s = n.map((r) => r[o - 1].index).sort(), i = s[0] || 0, l = s[s.length - 1] || 0, c = n[0][o - 1].node;\n  if (!c.parent) throw new Error(\"Please select nodes in the same main topic.\");\n  return {\n    parent: c.id,\n    start: i,\n    end: l\n  };\n}, bo = function(e) {\n  const t = document.createElementNS(j, \"g\");\n  return t.setAttribute(\"id\", e), t;\n}, qe = function(e, t) {\n  const n = document.createElementNS(j, \"path\");\n  return D(n, {\n    d: e,\n    stroke: t || \"#666\",\n    fill: \"none\",\n    \"stroke-linecap\": \"round\",\n    \"stroke-width\": \"2\"\n  }), n;\n}, vo = (e) => e.parentElement.parentElement, wo = function(e, { parent: t, start: n }) {\n  const o = e.findEle(t), s = o.nodeObj;\n  let i;\n  return s.parent ? i = o.closest(\"me-main\").className : i = e.findEle(s.children[n].id).closest(\"me-main\").className, i;\n}, Me = function(e, t) {\n  const { id: n, label: o, parent: s, start: i, end: l, style: c } = t, { nodes: r, theme: a, summarySvg: d } = e, u = e.findEle(s).nodeObj, y = wo(e, t);\n  let b = 1 / 0, p = 0, g = 0, m = 0;\n  for (let f = i; f <= l; f++) {\n    const w = u.children?.[f];\n    if (!w)\n      return e.removeSummary(n), null;\n    const T = vo(e.findEle(w.id)), { offsetLeft: O, offsetTop: X } = H(r, T), M = i === l ? 10 : 20;\n    f === i && (g = X + M), f === l && (m = X + T.offsetHeight - M), O < b && (b = O), T.offsetWidth + O > p && (p = T.offsetWidth + O);\n  }\n  let v, E;\n  const k = u.parent ? 10 : 0, _ = g + k, C = m + k, x = (_ + C) / 2, N = c?.stroke || a.cssVar[\"--color\"], S = c?.labelColor || a.cssVar[\"--color\"], A = \"s-\" + n, L = e.markdown ? e.markdown(o, t) : o;\n  y === B.LHS ? (v = qe(`M ${b + 10} ${_} c -5 0 -10 5 -10 10 L ${b} ${C - 10} c 0 5 5 10 10 10 M ${b} ${x} h -10`, N), E = ye(L, b - 20, x, { anchor: \"end\", color: S, dataType: \"summary\", svgId: A })) : (v = qe(`M ${p - 10} ${_} c 5 0 10 5 10 10 L ${p} ${C - 10} c 0 5 -5 10 -10 10 M ${p} ${x} h 10`, N), E = ye(L, p + 20, x, { anchor: \"start\", color: S, dataType: \"summary\", svgId: A }));\n  const R = bo(A);\n  return R.appendChild(v), e.labelContainer.appendChild(E), fe(E), R.summaryObj = t, R.labelEl = E, d.appendChild(R), R;\n}, xo = function(e = {}) {\n  if (!this.currentNodes) return;\n  const { currentNodes: t, summaries: n, bus: o } = this, { parent: s, start: i, end: l } = yo(t), c = { id: z(), parent: s, start: i, end: l, label: \"summary\", style: e.style }, r = Me(this, c);\n  n.push(c), this.editSummary(r), o.fire(\"operation\", {\n    name: \"createSummary\",\n    obj: c\n  });\n}, Eo = function(e) {\n  const t = z(), n = { ...e, id: t };\n  Me(this, n), this.summaries.push(n), this.bus.fire(\"operation\", {\n    name: \"createSummary\",\n    obj: n\n  });\n}, Co = function(e) {\n  const t = this.summaries.findIndex((n) => n.id === e);\n  t > -1 && (this.summaries.splice(t, 1), this.nodes.querySelector(\"#s-\" + e)?.remove(), this.nodes.querySelector(\"#label-s-\" + e)?.remove()), this.bus.fire(\"operation\", {\n    name: \"removeSummary\",\n    obj: { id: e }\n  });\n}, So = function(e) {\n  const t = e.labelEl;\n  t && t.classList.add(\"selected\"), this.currentSummary = e;\n}, No = function() {\n  this.currentSummary?.labelEl?.classList.remove(\"selected\"), this.currentSummary = null;\n}, To = function() {\n  this.summarySvg.innerHTML = \"\", this.summaries.forEach((e) => {\n    try {\n      Me(this, e);\n    } catch {\n    }\n  }), this.nodes.insertAdjacentElement(\"beforeend\", this.summarySvg);\n}, _o = function(e) {\n  e && e.labelEl && lt(this, e.labelEl, e.summaryObj);\n}, ko = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n  __proto__: null,\n  createSummary: xo,\n  createSummaryFrom: Eo,\n  editSummary: _o,\n  removeSummary: Co,\n  renderSummary: To,\n  selectSummary: So,\n  unselectSummary: No\n}, Symbol.toStringTag, { value: \"Module\" })), P = \"http://www.w3.org/2000/svg\";\nfunction Lo(e, t) {\n  const n = document.createElementNS(P, \"svg\");\n  return D(n, {\n    version: \"1.1\",\n    xmlns: P,\n    height: e,\n    width: t\n  }), n;\n}\nfunction Do(e, t) {\n  return (parseInt(e) - parseInt(t)) / 2;\n}\nfunction Ao(e, t, n, o) {\n  const s = document.createElementNS(P, \"g\");\n  let i = \"\";\n  return e.text ? i = e.text.textContent : i = e.childNodes[0].textContent, i.split(`\n`).forEach((c, r) => {\n    const a = document.createElementNS(P, \"text\");\n    D(a, {\n      x: n + parseInt(t.paddingLeft) + \"\",\n      y: o + parseInt(t.paddingTop) + Do(t.lineHeight, t.fontSize) * (r + 1) + parseFloat(t.fontSize) * (r + 1) + \"\",\n      \"text-anchor\": \"start\",\n      \"font-family\": t.fontFamily,\n      \"font-size\": `${t.fontSize}`,\n      \"font-weight\": `${t.fontWeight}`,\n      fill: `${t.color}`\n    }), a.innerHTML = c, s.appendChild(a);\n  }), s;\n}\nfunction Mo(e, t, n, o) {\n  let s = \"\";\n  e.nodeObj?.dangerouslySetInnerHTML ? s = e.nodeObj.dangerouslySetInnerHTML : e.text ? s = e.text.textContent : s = e.childNodes[0].textContent;\n  const i = document.createElementNS(P, \"foreignObject\");\n  D(i, {\n    x: n + parseInt(t.paddingLeft) + \"\",\n    y: o + parseInt(t.paddingTop) + \"\",\n    width: t.width,\n    height: t.height\n  });\n  const l = document.createElement(\"div\");\n  return D(l, {\n    xmlns: \"http://www.w3.org/1999/xhtml\",\n    style: `font-family: ${t.fontFamily}; font-size: ${t.fontSize}; font-weight: ${t.fontWeight}; color: ${t.color}; white-space: pre-wrap;`\n  }), l.innerHTML = s, i.appendChild(l), i;\n}\nfunction Po(e, t) {\n  const n = getComputedStyle(t), { offsetLeft: o, offsetTop: s } = H(e.nodes, t), i = document.createElementNS(P, \"rect\");\n  return D(i, {\n    x: o + \"\",\n    y: s + \"\",\n    rx: n.borderRadius,\n    ry: n.borderRadius,\n    width: n.width,\n    height: n.height,\n    fill: n.backgroundColor,\n    stroke: n.borderColor,\n    \"stroke-width\": n.borderWidth\n  }), i;\n}\nfunction se(e, t, n = !1) {\n  const o = getComputedStyle(t), { offsetLeft: s, offsetTop: i } = H(e.nodes, t), l = document.createElementNS(P, \"rect\");\n  D(l, {\n    x: s + \"\",\n    y: i + \"\",\n    rx: o.borderRadius,\n    ry: o.borderRadius,\n    width: o.width,\n    height: o.height,\n    fill: o.backgroundColor,\n    stroke: o.borderColor,\n    \"stroke-width\": o.borderWidth\n  });\n  const c = document.createElementNS(P, \"g\");\n  c.appendChild(l);\n  let r;\n  return n ? r = Mo(t, o, s, i) : r = Ao(t, o, s, i), c.appendChild(r), c;\n}\nfunction Oo(e, t) {\n  const n = getComputedStyle(t), { offsetLeft: o, offsetTop: s } = H(e.nodes, t), i = document.createElementNS(P, \"a\"), l = document.createElementNS(P, \"text\");\n  return D(l, {\n    x: o + \"\",\n    y: s + parseInt(n.fontSize) + \"\",\n    \"text-anchor\": \"start\",\n    \"font-family\": n.fontFamily,\n    \"font-size\": `${n.fontSize}`,\n    \"font-weight\": `${n.fontWeight}`,\n    fill: `${n.color}`\n  }), l.innerHTML = t.textContent, i.appendChild(l), i.setAttribute(\"href\", t.href), i;\n}\nfunction $o(e, t) {\n  const n = getComputedStyle(t), { offsetLeft: o, offsetTop: s } = H(e.nodes, t), i = document.createElementNS(P, \"image\");\n  return D(i, {\n    x: o + \"\",\n    y: s + \"\",\n    width: n.width + \"\",\n    height: n.height + \"\",\n    href: t.src\n  }), i;\n}\nconst ie = 100, Ho = '<?xml version=\"1.0\" standalone=\"no\"?><!DOCTYPE svg PUBLIC \"-//W3C//DTD SVG 1.1//EN\" \"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd\">', jo = (e, t = !1) => {\n  const n = e.nodes, o = n.offsetHeight + ie * 2, s = n.offsetWidth + ie * 2, i = Lo(o + \"px\", s + \"px\"), l = document.createElementNS(P, \"svg\"), c = document.createElementNS(P, \"rect\");\n  D(c, {\n    x: \"0\",\n    y: \"0\",\n    width: `${s}`,\n    height: `${o}`,\n    fill: e.theme.cssVar[\"--bgcolor\"]\n  }), i.appendChild(c), n.querySelectorAll(\".subLines\").forEach((h) => {\n    const u = h.cloneNode(!0), { offsetLeft: y, offsetTop: b } = H(n, h.parentElement);\n    u.setAttribute(\"x\", `${y}`), u.setAttribute(\"y\", `${b}`), l.appendChild(u);\n  });\n  const r = n.querySelector(\".lines\")?.cloneNode(!0);\n  r && l.appendChild(r);\n  const a = n.querySelector(\".topiclinks\")?.cloneNode(!0);\n  a && l.appendChild(a);\n  const d = n.querySelector(\".summary\")?.cloneNode(!0);\n  return d && l.appendChild(d), n.querySelectorAll(\"me-tpc\").forEach((h) => {\n    h.nodeObj.dangerouslySetInnerHTML ? l.appendChild(se(e, h, !t)) : (l.appendChild(Po(e, h)), l.appendChild(se(e, h.text, !t)));\n  }), n.querySelectorAll(\".tags > span\").forEach((h) => {\n    l.appendChild(se(e, h));\n  }), n.querySelectorAll(\".icons > span\").forEach((h) => {\n    l.appendChild(se(e, h));\n  }), n.querySelectorAll(\".hyper-link\").forEach((h) => {\n    l.appendChild(Oo(e, h));\n  }), n.querySelectorAll(\"img\").forEach((h) => {\n    l.appendChild($o(e, h));\n  }), D(l, {\n    x: ie + \"\",\n    y: ie + \"\",\n    overflow: \"visible\"\n  }), i.appendChild(l), i;\n}, Io = (e, t) => (t && e.insertAdjacentHTML(\"afterbegin\", \"<style>\" + t + \"</style>\"), Ho + e.outerHTML);\nfunction Ro(e) {\n  return new Promise((t, n) => {\n    const o = new FileReader();\n    o.onload = (s) => {\n      t(s.target.result);\n    }, o.onerror = (s) => {\n      n(s);\n    }, o.readAsDataURL(e);\n  });\n}\nconst Bo = function(e = !1, t) {\n  const n = jo(this, e), o = Io(n, t);\n  return new Blob([o], { type: \"image/svg+xml\" });\n}, Yo = async function(e = !1, t) {\n  const n = this.exportSvg(e, t), o = await Ro(n);\n  return new Promise((s, i) => {\n    const l = new Image();\n    l.setAttribute(\"crossOrigin\", \"anonymous\"), l.onload = () => {\n      const c = document.createElement(\"canvas\");\n      c.width = l.width, c.height = l.height, c.getContext(\"2d\").drawImage(l, 0, 0), c.toBlob(s, \"image/png\", 1);\n    }, l.src = o, l.onerror = i;\n  });\n}, Wo = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({\n  __proto__: null,\n  exportPng: Yo,\n  exportSvg: Bo\n}, Symbol.toStringTag, { value: \"Module\" }));\nfunction Xo(e, t) {\n  return async function(...n) {\n    const o = this.before[t];\n    o && !await o.apply(this, n) || e.apply(this, n);\n  };\n}\nconst Ue = Object.keys(ot), ft = {};\nfor (let e = 0; e < Ue.length; e++) {\n  const t = Ue[e];\n  ft[t] = Xo(ot[t], t);\n}\nconst Fo = {\n  getObjById: le,\n  generateNewObj: ut,\n  layout: pt,\n  linkDiv: Dn,\n  editTopic: xt,\n  createWrapper: yt,\n  createParent: bt,\n  createChildren: vt,\n  createTopic: wt,\n  findEle: Ze,\n  changeTheme: Qn,\n  ...un,\n  ...ft,\n  ...mo,\n  ...ko,\n  ...Wo,\n  init(e) {\n    if (e = JSON.parse(JSON.stringify(e)), !e || !e.nodeData) return new Error(\"MindElixir: `data` is required\");\n    e.direction !== void 0 && (this.direction = e.direction), this.changeTheme(e.theme || this.theme, !1), this.nodeData = e.nodeData, V(this.nodeData), this.arrows = e.arrows || [], this.summaries = e.summaries || [], this.tidyArrow(), this.toolBar && Gn(this), this.keypress && bn(this, this.keypress), Zn(this), this.disposable.push(Tn()), this.contextMenu && this.disposable.push(Mn(this, this.contextMenu)), this.allowUndo && this.disposable.push(On(this)), this.layout(), this.linkDiv(), this.toCenter();\n  },\n  destroy() {\n    this.disposable.forEach((e) => e()), this.el && (this.el.innerHTML = \"\"), this.el = void 0, this.nodeData = void 0, this.arrows = void 0, this.summaries = void 0, this.currentArrow = void 0, this.currentNodes = void 0, this.currentSummary = void 0, this.theme = void 0, this.direction = void 0, this.bus = void 0, this.container = void 0, this.map = void 0, this.lines = void 0, this.linkController = void 0, this.linkSvgGroup = void 0, this.P2 = void 0, this.P3 = void 0, this.line1 = void 0, this.line2 = void 0, this.nodes = void 0, this.selection?.destroy(), this.selection = void 0;\n  }\n};\nfunction Go({ pT: e, pL: t, pW: n, pH: o, cT: s, cL: i, cW: l, cH: c, direction: r, containerHeight: a }) {\n  let d = t + n / 2;\n  const h = e + o / 2;\n  let u;\n  r === B.LHS ? u = i + l : u = i;\n  const y = s + c / 2, p = (1 - Math.abs(y - h) / a) * 0.25 * (n / 2);\n  return r === B.LHS ? d = d - n / 10 - p : d = d + n / 10 + p, `M ${d} ${h} Q ${d} ${y} ${u} ${y}`;\n}\nfunction Vo({ pT: e, pL: t, pW: n, pH: o, cT: s, cL: i, cW: l, cH: c, direction: r, isFirst: a }) {\n  const d = parseInt(this.container.style.getPropertyValue(\"--node-gap-x\"));\n  let h = 0, u = 0;\n  a ? h = e + o / 2 : h = e + o;\n  const y = s + c;\n  let b = 0, p = 0, g = 0;\n  const m = Math.abs(h - y) / 300 * d;\n  return r === B.LHS ? (g = t, b = g + d, p = g - d, u = i + d, `M ${b} ${h} C ${g} ${h} ${g + m} ${y} ${p} ${y} H ${u}`) : (g = t + n, b = g - d, p = g + d, u = i + l - d, `M ${b} ${h} C ${g} ${h} ${g - m} ${y} ${p} ${y} H ${u}`);\n}\nconst zo = \"5.10.0\";\nfunction Ko(e) {\n  return {\n    x: 0,\n    y: 0,\n    moved: !1,\n    // diffrentiate click and move\n    mousedown: !1,\n    onMove(t, n) {\n      this.mousedown && (this.moved = !0, e.move(t, n));\n    },\n    clear() {\n      this.mousedown = !1;\n    }\n  };\n}\nfunction I({\n  el: e,\n  direction: t,\n  editable: n,\n  contextMenu: o,\n  toolBar: s,\n  keypress: i,\n  mouseSelectionButton: l,\n  selectionContainer: c,\n  before: r,\n  newTopicName: a,\n  allowUndo: d,\n  generateMainBranch: h,\n  generateSubBranch: u,\n  overflowHidden: y,\n  theme: b,\n  alignment: p,\n  scaleSensitivity: g,\n  scaleMax: m,\n  scaleMin: v,\n  handleWheel: E,\n  markdown: k,\n  imageProxy: _,\n  pasteHandler: C\n}) {\n  let x = null;\n  const N = Object.prototype.toString.call(e);\n  if (N === \"[object HTMLDivElement]\" ? x = e : N === \"[object String]\" && (x = document.querySelector(e)), !x) throw new Error(\"MindElixir: el is not a valid element\");\n  x.style.position = \"relative\", x.innerHTML = \"\", this.el = x, this.disposable = [], this.before = r || {}, this.newTopicName = a || \"New Node\", this.contextMenu = o ?? !0, this.toolBar = s ?? !0, this.keypress = i ?? !0, this.mouseSelectionButton = l ?? 0, this.direction = t ?? 1, this.editable = n ?? !0, this.allowUndo = d ?? !0, this.scaleSensitivity = g ?? 0.1, this.scaleMax = m ?? 1.4, this.scaleMin = v ?? 0.2, this.generateMainBranch = h || Go, this.generateSubBranch = u || Vo, this.overflowHidden = y ?? !1, this.alignment = p ?? \"root\", this.handleWheel = E ?? !0, this.markdown = k || void 0, this.imageProxy = _ || void 0, this.currentNodes = [], this.currentArrow = null, this.scaleVal = 1, this.tempDirection = null, this.dragMoveHelper = Ko(this), this.bus = kn(), this.container = document.createElement(\"div\"), this.selectionContainer = c || this.container, this.container.className = \"map-container\";\n  const S = window.matchMedia(\"(prefers-color-scheme: dark)\");\n  this.theme = b || (S.matches ? we : ve);\n  const A = document.createElement(\"div\");\n  A.className = \"map-canvas\", this.map = A, this.container.setAttribute(\"tabindex\", \"0\"), this.container.appendChild(this.map), this.el.appendChild(this.container), this.nodes = document.createElement(\"me-nodes\"), this.lines = Q(\"lines\"), this.summarySvg = Q(\"summary\"), this.linkController = Q(\"linkcontroller\"), this.P2 = document.createElement(\"div\"), this.P3 = document.createElement(\"div\"), this.P2.className = this.P3.className = \"circle\", this.P2.style.display = this.P3.style.display = \"none\", this.line1 = Re(), this.line2 = Re(), this.linkController.appendChild(this.line1), this.linkController.appendChild(this.line2), this.linkSvgGroup = Q(\"topiclinks\"), this.labelContainer = document.createElement(\"div\"), this.labelContainer.className = \"label-container\", this.map.appendChild(this.nodes), this.overflowHidden ? this.container.style.overflow = \"hidden\" : this.disposable.push(_n(this)), C && (this.pasteHandler = C);\n}\nI.prototype = Fo;\nObject.defineProperty(I.prototype, \"currentNode\", {\n  get() {\n    return this.currentNodes[this.currentNodes.length - 1];\n  },\n  enumerable: !0\n});\nI.LEFT = 0;\nI.RIGHT = 1;\nI.SIDE = 2;\nI.THEME = ve;\nI.DARK_THEME = we;\nI.version = zo;\nI.E = Ze;\nI.new = (e) => ({\n  nodeData: {\n    id: z(),\n    topic: e || \"new topic\",\n    children: []\n  }\n});\nexport {\n  we as DARK_THEME,\n  qo as LEFT,\n  Uo as RIGHT,\n  Jo as SIDE,\n  ve as THEME,\n  I as default\n};\n"]}